<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Interactive BOM for KiCAD</title>
  <style type="text/css">
:root {
  --pcb-edge-color: black;
  --pad-color: #878787;
  --pad-hole-color: #CCCCCC;
  --pad-color-highlight: #D04040;
  --pin1-outline-color: #ffb629;
  --pin1-outline-color-highlight: #b4ff03;
  --silkscreen-edge-color: #aa4;
  --silkscreen-polygon-color: #4aa;
  --silkscreen-text-color: #4aa;
  --fabrication-edge-color: #907651;
  --fabrication-polygon-color: #907651;
  --fabrication-text-color: #a27c24;
  --track-color: #def5f1;
  --track-color-highlight: #D04040;
  --zone-color: #def5f1;
  --zone-color-highlight: #d0404080;
}

html, body {
  margin: 0px;
  height: 100%;
  font-family: Verdana, sans-serif;
}

.dark.topmostdiv {
  --pcb-edge-color: #eee;
  --pad-color: #808080;
  --pin1-outline-color: #ffa800;
  --pin1-outline-color-highlight: #ccff00;
  --track-color: #42524f;
  --zone-color: #42524f;
  background-color: #252c30;
  color: #eee;
}

button {
  background-color: #eee;
  border: 1px solid #888;
  color: black;
  height: 44px;
  width: 44px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  font-weight: bolder;
}

.dark button {
  /* This will be inverted */
  background-color: #c3b7b5;
}

button.depressed {
  background-color: #0a0;
  color: white;
}

.dark button.depressed {
  /* This will be inverted */
  background-color: #b3b;
}

button:focus {
  outline: 0;
}

button#tb-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.32 290.12h5.82M1.32 291.45h5.82' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 292.5v4.23M.26 292.63H8.2' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='1.35' y='295.73'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}

button#lr-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.06 290.12H3.7m-2.64 1.33H3.7m-2.64 1.32H3.7m-2.64 1.3H3.7m-2.64 1.33H3.7' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 288.8v7.94m0-4.11h3.96' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='5.11' y='291.96'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A");
}

button#bom-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)' fill='none' stroke='%23000' stroke-width='.4'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' stroke-linejoin='round'/%3E%3Cpath d='M1.59 290.12h5.29M1.59 291.45h5.33M1.59 292.75h5.33M1.59 294.09h5.33M1.59 295.41h5.33'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-grouped-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m4 0h5m4 0h3M6.1 22h3m3.9 0h5m4 0h4m-16-8h4m4 0h4'/%3E%3Cpath stroke-linecap='null' d='M5 17.5h22M5 26.6h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-ungrouped-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg stroke='%23000' stroke-linejoin='round' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-linecap='square' stroke-width='2' d='M6 10h4m-4 8h3m-3 8h4'/%3E%3Cpath stroke-linecap='null' d='M5 13.5h22m-22 8h22M5 5.5h22'/%3E%3C/g%3E%3C/svg%3E");
}

button#bom-netlist-btn {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32'%3E%3Cg fill='none' stroke='%23000' class='layer'%3E%3Crect width='29' height='29' x='1.5' y='1.5' stroke-width='2' fill='%23fff' rx='5' ry='5'/%3E%3Cpath stroke-width='2' d='M6 26l6-6v-8m13.8-6.3l-6 6v8'/%3E%3Ccircle cx='11.8' cy='9.5' r='2.8' stroke-width='2'/%3E%3Ccircle cx='19.8' cy='22.8' r='2.8' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E");
}

button#copy {
  background-image: url("data:image/svg+xml,%3Csvg height='48' viewBox='0 0 48 48' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath d='M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z'/%3E%3C/svg%3E");
  background-position: 6px 6px;
  background-repeat: no-repeat;
  background-size: 26px 26px;
  border-radius: 6px;
  height: 40px;
  width: 40px;
  margin: 10px 5px;
}

button#copy:active {
    box-shadow: inset 0px 0px 5px #6c6c6c;
}

textarea.clipboard-temp {
  position: fixed;
  top: 0;
  left: 0;
  width: 2em;
  height: 2em;
  padding: 0;
  border: None;
  outline: None;
  box-shadow: None;
  background: transparent;
}

.left-most-button {
  border-right: 0;
  border-top-left-radius: 6px;
  border-bottom-left-radius: 6px;
}

.middle-button {
  border-right: 0;
}

.right-most-button {
  border-top-right-radius: 6px;
  border-bottom-right-radius: 6px;
}

.button-container {
  font-size: 0;
  margin: 10px 10px 10px 0px;
}

.dark .button-container {
  filter: invert(1);
}

.button-container button {
  background-size: 32px 32px;
  background-position: 5px 5px;
  background-repeat: no-repeat;
}

@media print {
  .hideonprint {
    display: none;
  }
}

canvas {
  cursor: crosshair;
}

canvas:active {
  cursor: grabbing;
}

.fileinfo {
  width: 100%;
  max-width: 1000px;
  border: none;
  padding: 5px;
}

.fileinfo .title {
  font-size: 20pt;
  font-weight: bold;
}

.fileinfo td {
  overflow: hidden;
  white-space: nowrap;
  max-width: 1px;
  width: 50%;
  text-overflow: ellipsis;
}

.bom {
  border-collapse: collapse;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 10pt;
  table-layout: fixed;
  width: 100%;
  margin-top: 1px;
}

.bom th, .bom td {
  border: 1px solid black;
  padding: 5px;
  word-wrap: break-word;
  text-align: center;
  position: relative;
}

.dark .bom th, .dark .bom td {
  border: 1px solid #777;
}

.bom th {
  background-color: #CCCCCC;
  background-clip: padding-box;
}

.dark .bom th {
  background-color: #3b4749;
}

.bom tr.highlighted:nth-child(n) {
  background-color: #cfc;
}

.dark .bom tr.highlighted:nth-child(n) {
  background-color: #226022;
}

.bom tr:nth-child(even) {
  background-color: #f2f2f2;
}

.dark .bom tr:nth-child(even) {
  background-color: #313b40;
}

.bom tr.checked {
  color: #aaa;
}

.dark .bom tr.checked {
  color: #666;
}

.bom tr {
  transition: background-color 0.2s;
}

.bom .numCol {
  width: 25px;
}

.bom .Description {
  width: 10%;
}

.bom .Part {
  width: 10%;
}

.bom .Value {
  width: 15%;
}

.bom .Quantity {
  width: 65px;
}

.bom th .sortmark {
  position: absolute;
  right: 1px;
  top: 1px;
  margin-top: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent #221 transparent;
  transform-origin: 50% 85%;
  transition: opacity 0.2s, transform 0.4s;
}

.dark .bom th .sortmark {
  filter: invert(1);
}

.bom th .sortmark.none {
  opacity: 0;
}

.bom th .sortmark.desc {
  transform: rotate(180deg);
}

.bom th:hover .sortmark.none {
  opacity: 0.5;
}

.bom .bom-checkbox {
  width: 30px;
  position: relative;
  user-select: none;
  -moz-user-select: none;
}

.bom .bom-checkbox:before {
  content: "";
  position: absolute;
  border-width: 15px;
  border-style: solid;
  border-color: #51829f transparent transparent transparent;
  visibility: hidden;
  top: -15px;
}

.bom .bom-checkbox:after {
  content: "Double click to set/unset all";
  position: absolute;
  color: white;
  top: -35px;
  left: -26px;
  background: #51829f;
  padding: 5px 15px;
  border-radius: 8px;
  white-space: nowrap;
  visibility: hidden;
}

.bom .bom-checkbox:hover:before, .bom .bom-checkbox:hover:after {
  visibility: visible;
  transition: visibility 0.2s linear 1s;
}

.split {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  overflow-y: auto;
  overflow-x: hidden;
  background-color: inherit;
}

.split.split-horizontal, .gutter.gutter-horizontal {
  height: 100%;
  float: left;
}

.gutter {
  background-color: #ddd;
  background-repeat: no-repeat;
  background-position: 50%;
  transition: background-color 0.3s;
}

.dark .gutter {
  background-color: #777;
}

.gutter.gutter-horizontal {
  background-image: url('');
  cursor: ew-resize;
  width: 5px;
}

.gutter.gutter-vertical {
  background-image: url('');
  cursor: ns-resize;
  height: 5px;
}

.searchbox {
  float: left;
  height: 40px;
  margin: 10px 5px;
  padding: 12px 32px;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 18px;
  box-sizing: border-box;
  border: 1px solid #888;
  border-radius: 6px;
  outline: none;
  background-color: #eee;
  transition: background-color 0.2s, border 0.2s;
  background-image: url('');
  background-position: 10px 10px;
  background-repeat: no-repeat;
}

.dark .searchbox {
  background-color: #111;
  color: #eee;
}

.searchbox::placeholder {
  color: #ccc;
}

.dark .searchbox::placeholder {
  color: #666;
}

.filter {
  width: calc(60% - 64px);
}

.reflookup {
  width: calc(40% - 10px);
}

input[type=text]:focus {
  background-color: white;
  border: 1px solid #333;
}

.dark input[type=text]:focus {
  background-color: #333;
  border: 1px solid #ccc;
}

mark.highlight {
  background-color: #5050ff;
  color: #fff;
  padding: 2px;
  border-radius: 6px;
}

.dark mark.highlight {
  background-color: #76a6da;
  color: #111;
}

.menubtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A");
  background-position: center;
  background-repeat: no-repeat;
}

.statsbtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg width='36' height='36' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4 6h28v24H4V6zm0 8h28v8H4m9-16v24h10V5.8' fill='none' stroke='%23000' stroke-width='2'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.iobtn {
  background-color: white;
  border: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' d='M3 33v-7l6.8-7h16.5l6.7 7v7H3zM3.2 26H33M21 9l5-5.9 5 6h-2.5V15h-5V9H21zm-4.9 0l-5 6-5-6h2.5V3h5v6h2.5z'/%3E%3Cpath fill='none' stroke='%23000' d='M6.1 29.5H10'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
}

.dark .statsbtn, .dark .savebtn, .dark .menubtn, .dark .iobtn {
  filter: invert(1);
}

.flexbox {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.savebtn {
  background-color: #d6d6d6;
  width: auto;
  height: 30px;
  flex-grow: 1;
  margin: 5px;
  border-radius: 4px;
}

.savebtn:active {
  background-color: #0a0;
  color: white;
}

.dark .savebtn:active {
  /* This will be inverted */
  background-color: #b3b;
}

.stats {
  border-collapse: collapse;
  font-size: 12pt;
  table-layout: fixed;
  width: 100%;
  min-width: 450px;
}

.dark .stats td {
  border: 1px solid #bbb;
}

.stats td {
  border: 1px solid black;
  padding: 5px;
  word-wrap: break-word;
  text-align: center;
  position: relative;
}

#checkbox-stats div {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}

#checkbox-stats .bar {
  background-color: rgba(28, 251, 0, 0.6);
}

.menu {
  position: relative;
  display: inline-block;
  margin: 10px 10px 10px 0px;
}

.menu-content {
  display: none;
  position: absolute;
  background-color: white;
  right: 0;
  min-width: 300px;
  box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
  z-index: 100;
  padding: 8px;
}

.dark .menu-content {
  background-color: #111;
}

.menu:hover .menu-content {
  display: block;
}

.menu:hover .menubtn, .menu:hover .iobtn, .menu:hover .statsbtn {
  background-color: #eee;
}

.menu-label {
  display: inline-block;
  padding: 8px;
  border: 1px solid #ccc;
  border-top: 0;
  width: calc(100% - 18px);
}

.menu-label-top {
  border-top: 1px solid #ccc;
}

.menu-textbox {
  float: left;
  height: 24px;
  margin: 10px 5px;
  padding: 5px 5px;
  font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace;
  font-size: 14px;
  box-sizing: border-box;
  border: 1px solid #888;
  border-radius: 4px;
  outline: none;
  background-color: #eee;
  transition: background-color 0.2s, border 0.2s;
  width: calc(100% - 10px);
}

.menu-textbox.invalid, .dark .menu-textbox.invalid {
  color: red;
}

.dark .menu-textbox {
  background-color: #222;
  color: #eee;
}

.radio-container {
  margin: 4px;
}

.topmostdiv {
  width: 100%;
  height: 100%;
  background-color: white;
  transition: background-color 0.3s;
}

#top {
  height: 78px;
  border-bottom: 2px solid black;
}

.dark #top {
  border-bottom: 2px solid #ccc;
}

#dbg {
  display: block;
}

::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-track {
  background: #aaa;
}

::-webkit-scrollbar-thumb {
  background: #666;
  border-radius: 3px;
}

::-webkit-scrollbar-thumb:hover {
  background: #555;
}

.slider {
  -webkit-appearance: none;
  width: 100%;
  margin: 3px 0;
  padding: 0;
  outline: none;
  opacity: 0.7;
  -webkit-transition: .2s;
  transition: opacity .2s;
  border-radius: 3px;
}

.slider:hover {
  opacity: 1;
}

.slider:focus {
  outline: none;
}

.slider::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  width: 100%;
  height: 8px;
  background: #d3d3d3;
  border-radius: 3px;
  border: none;
}

.slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
  margin-top: -4px;
}

.dark .slider::-webkit-slider-thumb {
  background: #3d3;
}

.slider::-moz-range-thumb {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
}

.slider::-moz-range-track {
  height: 8px;
  background: #d3d3d3;
  border-radius: 3px;
}

.dark .slider::-moz-range-thumb {
  background: #3d3;
}

.slider::-ms-track {
  width: 100%;
  height: 8px;
  border-width: 3px 0;
  background: transparent;
  border-color: transparent;
  color: transparent;
  transition: opacity .2s;
}

.slider::-ms-fill-lower {
  background: #d3d3d3;
  border: none;
  border-radius: 3px;
}

.slider::-ms-fill-upper {
  background: #d3d3d3;
  border: none;
  border-radius: 3px;
}

.slider::-ms-thumb {
  width: 15px;
  height: 15px;
  border-radius: 50%;
  background: #0a0;
  cursor: pointer;
  margin: 0;
}

.shameless-plug {
  font-size: 0.8em;
  text-align: center;
  display: block;
}

a {
  color: #0278a4;
}

.dark a {
  color: #00b9fd;
}

#frontcanvas, #backcanvas {
    touch-action: none;
}

 
  </style>
  <script type="text/javascript" >
///////////////////////////////////////////////
/*
  Split.js - v1.3.5
  MIT License
  https://github.com/nathancahill/Split.js
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Split=t()}(this,function(){"use strict";var e=window,t=e.document,n="addEventListener",i="removeEventListener",r="getBoundingClientRect",s=function(){return!1},o=e.attachEvent&&!e[n],a=["","-webkit-","-moz-","-o-"].filter(function(e){var n=t.createElement("div");return n.style.cssText="width:"+e+"calc(9px)",!!n.style.length}).shift()+"calc",l=function(e){return"string"==typeof e||e instanceof String?t.querySelector(e):e};return function(u,c){function z(e,t,n){var i=A(y,t,n);Object.keys(i).forEach(function(t){return e.style[t]=i[t]})}function h(e,t){var n=B(y,t);Object.keys(n).forEach(function(t){return e.style[t]=n[t]})}function f(e){var t=E[this.a],n=E[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,z(t.element,t.size,this.aGutterSize),z(n.element,n.size,this.bGutterSize)}function m(e){var t;this.dragging&&((t="touches"in e?e.touches[0][b]-this.start:e[b]-this.start)<=E[this.a].minSize+M+this.aGutterSize?t=E[this.a].minSize+this.aGutterSize:t>=this.size-(E[this.b].minSize+M+this.bGutterSize)&&(t=this.size-(E[this.b].minSize+this.bGutterSize)),f.call(this,t),c.onDrag&&c.onDrag())}function g(){var e=E[this.a].element,t=E[this.b].element;this.size=e[r]()[y]+t[r]()[y]+this.aGutterSize+this.bGutterSize,this.start=e[r]()[G]}function d(){var t=this,n=E[t.a].element,r=E[t.b].element;t.dragging&&c.onDragEnd&&c.onDragEnd(),t.dragging=!1,e[i]("mouseup",t.stop),e[i]("touchend",t.stop),e[i]("touchcancel",t.stop),t.parent[i]("mousemove",t.move),t.parent[i]("touchmove",t.move),delete t.stop,delete t.move,n[i]("selectstart",s),n[i]("dragstart",s),r[i]("selectstart",s),r[i]("dragstart",s),n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",t.gutter.style.cursor="",t.parent.style.cursor=""}function S(t){var i=this,r=E[i.a].element,o=E[i.b].element;!i.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),i.dragging=!0,i.move=m.bind(i),i.stop=d.bind(i),e[n]("mouseup",i.stop),e[n]("touchend",i.stop),e[n]("touchcancel",i.stop),i.parent[n]("mousemove",i.move),i.parent[n]("touchmove",i.move),r[n]("selectstart",s),r[n]("dragstart",s),o[n]("selectstart",s),o[n]("dragstart",s),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",i.gutter.style.cursor=j,i.parent.style.cursor=j,g.call(i)}function v(e){e.forEach(function(t,n){if(n>0){var i=F[n-1],r=E[i.a],s=E[i.b];r.size=e[n-1],s.size=t,z(r.element,r.size,i.aGutterSize),z(s.element,s.size,i.bGutterSize)}})}function p(){F.forEach(function(e){e.parent.removeChild(e.gutter),E[e.a].element.style[y]="",E[e.b].element.style[y]=""})}void 0===c&&(c={});var y,b,G,E,w=l(u[0]).parentNode,D=e.getComputedStyle(w).flexDirection,U=c.sizes||u.map(function(){return 100/u.length}),k=void 0!==c.minSize?c.minSize:100,x=Array.isArray(k)?k:u.map(function(){return k}),L=void 0!==c.gutterSize?c.gutterSize:10,M=void 0!==c.snapOffset?c.snapOffset:30,O=c.direction||"horizontal",j=c.cursor||("horizontal"===O?"ew-resize":"ns-resize"),C=c.gutter||function(e,n){var i=t.createElement("div");return i.className="gutter gutter-"+n,i},A=c.elementStyle||function(e,t,n){var i={};return"string"==typeof t||t instanceof String?i[e]=t:i[e]=o?t+"%":a+"("+t+"% - "+n+"px)",i},B=c.gutterStyle||function(e,t){return n={},n[e]=t+"px",n;var n};"horizontal"===O?(y="width","clientWidth",b="clientX",G="left","paddingLeft"):"vertical"===O&&(y="height","clientHeight",b="clientY",G="top","paddingTop");var F=[];return E=u.map(function(e,t){var i,s={element:l(e),size:U[t],minSize:x[t]};if(t>0&&(i={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:O,parent:w},i.aGutterSize=L,i.bGutterSize=L,i.isFirst&&(i.aGutterSize=L/2),i.isLast&&(i.bGutterSize=L/2),"row-reverse"===D||"column-reverse"===D)){var a=i.a;i.a=i.b,i.b=a}if(!o&&t>0){var c=C(t,O);h(c,L),c[n]("mousedown",S.bind(i)),c[n]("touchstart",S.bind(i)),w.insertBefore(c,s.element),i.gutter=c}0===t||t===u.length-1?z(s.element,s.size,L/2):z(s.element,s.size,L);var f=s.element[r]()[y];return f<s.minSize&&(s.minSize=f),t>0&&F.push(i),s}),o?{setSizes:v,destroy:p}:{setSizes:v,getSizes:function(){return E.map(function(e){return e.size})},collapse:function(e){if(e===F.length){var t=F[e-1];g.call(t),o||f.call(t,t.size-t.bGutterSize)}else{var n=F[e];g.call(n),o||f.call(n,n.aGutterSize)}},destroy:p}}});

///////////////////////////////////////////////

///////////////////////////////////////////////
// Copyright (c) 2013 Pieroxy <pieroxy@pieroxy.net>
// This work is free. You can redistribute it and/or modify it
// under the terms of the WTFPL, Version 2
// For more information see LICENSE.txt or http://www.wtfpl.net/
//
// For more information, the home page:
// http://pieroxy.net/blog/pages/lz-string/testing.html
//
// LZ-based compression algorithm, version 1.4.4
var LZString=function(){var o=String.fromCharCode,i={};var n={decompressFromBase64:function(o){return null==o?"":""==o?null:n._decompress(o.length,32,function(n){return function(o,n){if(!i[o]){i[o]={};for(var t=0;t<o.length;t++)i[o][o.charAt(t)]=t}return i[o][n]}("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",o.charAt(n))})},_decompress:function(i,n,t){var r,e,a,s,p,u,l,f=[],c=4,d=4,h=3,v="",g=[],m={val:t(0),position:n,index:1};for(r=0;r<3;r+=1)f[r]=r;for(a=0,p=Math.pow(2,2),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;l=o(a);break;case 2:return""}for(f[3]=l,e=l,g.push(l);;){if(m.index>i)return"";for(a=0,p=Math.pow(2,h),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;switch(l=a){case 0:for(a=0,p=Math.pow(2,8),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 1:for(a=0,p=Math.pow(2,16),u=1;u!=p;)s=m.val&m.position,m.position>>=1,0==m.position&&(m.position=n,m.val=t(m.index++)),a|=(s>0?1:0)*u,u<<=1;f[d++]=o(a),l=d-1,c--;break;case 2:return g.join("")}if(0==c&&(c=Math.pow(2,h),h++),f[l])v=f[l];else{if(l!==d)return null;v=e+e.charAt(0)}g.push(v),f[d++]=e+v.charAt(0),e=v,0==--c&&(c=Math.pow(2,h),h++)}}};return n}();"function"==typeof define&&define.amd?define(function(){return LZString}):"undefined"!=typeof module&&null!=module?module.exports=LZString:"undefined"!=typeof angular&&null!=angular&&angular.module("LZString",[]).factory("LZString",function(){return LZString});
///////////////////////////////////////////////

///////////////////////////////////////////////
/*!
 * PEP v0.4.3 | https://github.com/jquery/PEP
 * Copyright jQuery Foundation and other contributors | http://jquery.org/license
 */
! function (a, b) {
  "object" == typeof exports && "undefined" != typeof module ? module.exports = b() : "function" == typeof define && define.amd ? define(b) : a.PointerEventsPolyfill = b()
}(this, function () {
  "use strict";

  function a(a, b) {
    b = b || Object.create(null);
    var c = document.createEvent("Event");
    c.initEvent(a, b.bubbles || !1, b.cancelable || !1);
    for (var d, e = 2; e < m.length; e++) d = m[e], c[d] = b[d] || n[e];
    c.buttons = b.buttons || 0;
    var f = 0;
    return f = b.pressure && c.buttons ? b.pressure : c.buttons ? .5 : 0, c.x = c.clientX, c.y = c.clientY, c.pointerId = b.pointerId || 0, c.width = b.width || 0, c.height = b.height || 0, c.pressure = f, c.tiltX = b.tiltX || 0, c.tiltY = b.tiltY || 0, c.twist = b.twist || 0, c.tangentialPressure = b.tangentialPressure || 0, c.pointerType = b.pointerType || "", c.hwTimestamp = b.hwTimestamp || 0, c.isPrimary = b.isPrimary || !1, c
  }

  function b() {
    this.array = [], this.size = 0
  }

  function c(a, b, c, d) {
    this.addCallback = a.bind(d), this.removeCallback = b.bind(d), this.changedCallback = c.bind(d), A && (this.observer = new A(this.mutationWatcher.bind(this)))
  }

  function d(a) {
    return "body /shadow-deep/ " + e(a)
  }

  function e(a) {
    return '[touch-action="' + a + '"]'
  }

  function f(a) {
    return "{ -ms-touch-action: " + a + "; touch-action: " + a + "; }"
  }

  function g() {
    if (F) {
      D.forEach(function (a) {
        String(a) === a ? (E += e(a) + f(a) + "\n", G && (E += d(a) + f(a) + "\n")) : (E += a.selectors.map(e) + f(a.rule) + "\n", G && (E += a.selectors.map(d) + f(a.rule) + "\n"))
      });
      var a = document.createElement("style");
      a.textContent = E, document.head.appendChild(a)
    }
  }

  function h() {
    if (!window.PointerEvent) {
      if (window.PointerEvent = a, window.navigator.msPointerEnabled) {
        var b = window.navigator.msMaxTouchPoints;
        Object.defineProperty(window.navigator, "maxTouchPoints", {
          value: b,
          enumerable: !0
        }), u.registerSource("ms", _)
      } else Object.defineProperty(window.navigator, "maxTouchPoints", {
        value: 0,
        enumerable: !0
      }), u.registerSource("mouse", N), void 0 !== window.ontouchstart && u.registerSource("touch", V);
      u.register(document)
    }
  }

  function i(a) {
    if (!u.pointermap.has(a)) {
      var b = new Error("InvalidPointerId");
      throw b.name = "InvalidPointerId", b
    }
  }

  function j(a) {
    for (var b = a.parentNode; b && b !== a.ownerDocument;) b = b.parentNode;
    if (!b) {
      var c = new Error("InvalidStateError");
      throw c.name = "InvalidStateError", c
    }
  }

  function k(a) {
    var b = u.pointermap.get(a);
    return 0 !== b.buttons
  }

  function l() {
    window.Element && !Element.prototype.setPointerCapture && Object.defineProperties(Element.prototype, {
      setPointerCapture: {
        value: W
      },
      releasePointerCapture: {
        value: X
      },
      hasPointerCapture: {
        value: Y
      }
    })
  }
  var m = ["bubbles", "cancelable", "view", "detail", "screenX", "screenY", "clientX", "clientY", "ctrlKey", "altKey", "shiftKey", "metaKey", "button", "relatedTarget", "pageX", "pageY"],
    n = [!1, !1, null, null, 0, 0, 0, 0, !1, !1, !1, !1, 0, null, 0, 0],
    o = window.Map && window.Map.prototype.forEach,
    p = o ? Map : b;
  b.prototype = {
    set: function (a, b) {
      return void 0 === b ? this["delete"](a) : (this.has(a) || this.size++, void(this.array[a] = b))
    },
    has: function (a) {
      return void 0 !== this.array[a]
    },
    "delete": function (a) {
      this.has(a) && (delete this.array[a], this.size--)
    },
    get: function (a) {
      return this.array[a]
    },
    clear: function () {
      this.array.length = 0, this.size = 0
    },
    forEach: function (a, b) {
      return this.array.forEach(function (c, d) {
        a.call(b, c, d, this)
      }, this)
    }
  };
  var q = ["bubbles", "cancelable", "view", "detail", "screenX", "screenY", "clientX", "clientY", "ctrlKey", "altKey", "shiftKey", "metaKey", "button", "relatedTarget", "buttons", "pointerId", "width", "height", "pressure", "tiltX", "tiltY", "pointerType", "hwTimestamp", "isPrimary", "type", "target", "currentTarget", "which", "pageX", "pageY", "timeStamp"],
    r = [!1, !1, null, null, 0, 0, 0, 0, !1, !1, !1, !1, 0, null, 0, 0, 0, 0, 0, 0, 0, "", 0, !1, "", null, null, 0, 0, 0, 0],
    s = {
      pointerover: 1,
      pointerout: 1,
      pointerenter: 1,
      pointerleave: 1
    },
    t = "undefined" != typeof SVGElementInstance,
    u = {
      pointermap: new p,
      eventMap: Object.create(null),
      captureInfo: Object.create(null),
      eventSources: Object.create(null),
      eventSourceList: [],
      registerSource: function (a, b) {
        var c = b,
          d = c.events;
        d && (d.forEach(function (a) {
          c[a] && (this.eventMap[a] = c[a].bind(c))
        }, this), this.eventSources[a] = c, this.eventSourceList.push(c))
      },
      register: function (a) {
        for (var b, c = this.eventSourceList.length, d = 0; d < c && (b = this.eventSourceList[d]); d++)
          b.register.call(b, a)
      },
      unregister: function (a) {
        for (var b, c = this.eventSourceList.length, d = 0; d < c && (b = this.eventSourceList[d]); d++)
          b.unregister.call(b, a)
      },
      contains: function (a, b) {
        try {
          return a.contains(b)
        } catch (c) {
          return !1
        }
      },
      down: function (a) {
        a.bubbles = !0, this.fireEvent("pointerdown", a)
      },
      move: function (a) {
        a.bubbles = !0, this.fireEvent("pointermove", a)
      },
      up: function (a) {
        a.bubbles = !0, this.fireEvent("pointerup", a)
      },
      enter: function (a) {
        a.bubbles = !1, this.fireEvent("pointerenter", a)
      },
      leave: function (a) {
        a.bubbles = !1, this.fireEvent("pointerleave", a)
      },
      over: function (a) {
        a.bubbles = !0, this.fireEvent("pointerover", a)
      },
      out: function (a) {
        a.bubbles = !0, this.fireEvent("pointerout", a)
      },
      cancel: function (a) {
        a.bubbles = !0, this.fireEvent("pointercancel", a)
      },
      leaveOut: function (a) {
        this.out(a), this.propagate(a, this.leave, !1)
      },
      enterOver: function (a) {
        this.over(a), this.propagate(a, this.enter, !0)
      },
      eventHandler: function (a) {
        if (!a._handledByPE) {
          var b = a.type,
            c = this.eventMap && this.eventMap[b];
          c && c(a), a._handledByPE = !0
        }
      },
      listen: function (a, b) {
        b.forEach(function (b) {
          this.addEvent(a, b)
        }, this)
      },
      unlisten: function (a, b) {
        b.forEach(function (b) {
          this.removeEvent(a, b)
        }, this)
      },
      addEvent: function (a, b) {
        a.addEventListener(b, this.boundHandler)
      },
      removeEvent: function (a, b) {
        a.removeEventListener(b, this.boundHandler)
      },
      makeEvent: function (b, c) {
        this.captureInfo[c.pointerId] && (c.relatedTarget = null);
        var d = new a(b, c);
        return c.preventDefault && (d.preventDefault = c.preventDefault), d._target = d._target || c.target, d
      },
      fireEvent: function (a, b) {
        var c = this.makeEvent(a, b);
        return this.dispatchEvent(c)
      },
      cloneEvent: function (a) {
        for (var b, c = Object.create(null), d = 0; d < q.length; d++) b = q[d], c[b] = a[b] || r[d], !t || "target" !== b && "relatedTarget" !== b || c[b] instanceof SVGElementInstance && (c[b] = c[b].correspondingUseElement);
        return a.preventDefault && (c.preventDefault = function () {
          a.preventDefault()
        }), c
      },
      getTarget: function (a) {
        var b = this.captureInfo[a.pointerId];
        return b ? a._target !== b && a.type in s ? void 0 : b : a._target
      },
      propagate: function (a, b, c) {
        for (var d = a.target, e = []; d !== document && !d.contains(a.relatedTarget);)
          if (e.push(d), d = d.parentNode, !d) return;
        c && e.reverse(), e.forEach(function (c) {
          a.target = c, b.call(this, a)
        }, this)
      },
      setCapture: function (b, c, d) {
        this.captureInfo[b] && this.releaseCapture(b, d), this.captureInfo[b] = c, this.implicitRelease = this.releaseCapture.bind(this, b, d), document.addEventListener("pointerup", this.implicitRelease), document.addEventListener("pointercancel", this.implicitRelease);
        var e = new a("gotpointercapture");
        e.pointerId = b, e._target = c, d || this.asyncDispatchEvent(e)
      },
      releaseCapture: function (b, c) {
        var d = this.captureInfo[b];
        if (d) {
          this.captureInfo[b] = void 0, document.removeEventListener("pointerup", this.implicitRelease), document.removeEventListener("pointercancel", this.implicitRelease);
          var e = new a("lostpointercapture");
          e.pointerId = b, e._target = d, c || this.asyncDispatchEvent(e)
        }
      },
      dispatchEvent: /*scope.external.dispatchEvent || */ function (a) {
        var b = this.getTarget(a);
        if (b) return b.dispatchEvent(a)
      },
      asyncDispatchEvent: function (a) {
        requestAnimationFrame(this.dispatchEvent.bind(this, a))
      }
    };
  u.boundHandler = u.eventHandler.bind(u);
  var v = {
      shadow: function (a) {
        if (a) return a.shadowRoot || a.webkitShadowRoot
      },
      canTarget: function (a) {
        return a && Boolean(a.elementFromPoint)
      },
      targetingShadow: function (a) {
        var b = this.shadow(a);
        if (this.canTarget(b)) return b
      },
      olderShadow: function (a) {
        var b = a.olderShadowRoot;
        if (!b) {
          var c = a.querySelector("shadow");
          c && (b = c.olderShadowRoot)
        }
        return b
      },
      allShadows: function (a) {
        for (var b = [], c = this.shadow(a); c;) b.push(c), c = this.olderShadow(c);
        return b
      },
      searchRoot: function (a, b, c) {
        if (a) {
          var d, e, f = a.elementFromPoint(b, c);
          for (e = this.targetingShadow(f); e;) {
            if (d = e.elementFromPoint(b, c)) {
              var g = this.targetingShadow(d);
              return this.searchRoot(g, b, c) || d
            }
            e = this.olderShadow(e)
          }
          return f
        }
      },
      owner: function (a) {
        for (var b = a; b.parentNode;) b = b.parentNode;
        return b.nodeType !== Node.DOCUMENT_NODE && b.nodeType !== Node.DOCUMENT_FRAGMENT_NODE && (b = document), b
      },
      findTarget: function (a) {
        var b = a.clientX,
          c = a.clientY,
          d = this.owner(a.target);
        return d.elementFromPoint(b, c) || (d = document), this.searchRoot(d, b, c)
      }
    },
    w = Array.prototype.forEach.call.bind(Array.prototype.forEach),
    x = Array.prototype.map.call.bind(Array.prototype.map),
    y = Array.prototype.slice.call.bind(Array.prototype.slice),
    z = Array.prototype.filter.call.bind(Array.prototype.filter),
    A = window.MutationObserver || window.WebKitMutationObserver,
    B = "[touch-action]",
    C = {
      subtree: !0,
      childList: !0,
      attributes: !0,
      attributeOldValue: !0,
      attributeFilter: ["touch-action"]
    };
  c.prototype = {
    watchSubtree: function (a) {
      //
      this.observer && v.canTarget(a) && this.observer.observe(a, C)
    },
    enableOnSubtree: function (a) {
      this.watchSubtree(a), a === document && "complete" !== document.readyState ? this.installOnLoad() : this.installNewSubtree(a)
    },
    installNewSubtree: function (a) {
      w(this.findElements(a), this.addElement, this)
    },
    findElements: function (a) {
      return a.querySelectorAll ? a.querySelectorAll(B) : []
    },
    removeElement: function (a) {
      this.removeCallback(a)
    },
    addElement: function (a) {
      this.addCallback(a)
    },
    elementChanged: function (a, b) {
      this.changedCallback(a, b)
    },
    concatLists: function (a, b) {
      return a.concat(y(b))
    },
    installOnLoad: function () {
      document.addEventListener("readystatechange", function () {
        "complete" === document.readyState && this.installNewSubtree(document)
      }.bind(this))
    },
    isElement: function (a) {
      return a.nodeType === Node.ELEMENT_NODE
    },
    flattenMutationTree: function (a) {
      var b = x(a, this.findElements, this);
      return b.push(z(a, this.isElement)), b.reduce(this.concatLists, [])
    },
    mutationWatcher: function (a) {
      a.forEach(this.mutationHandler, this)
    },
    mutationHandler: function (a) {
      if ("childList" === a.type) {
        var b = this.flattenMutationTree(a.addedNodes);
        b.forEach(this.addElement, this);
        var c = this.flattenMutationTree(a.removedNodes);
        c.forEach(this.removeElement, this)
      } else "attributes" === a.type && this.elementChanged(a.target, a.oldValue)
    }
  };
  var D = ["none", "auto", "pan-x", "pan-y", {
      rule: "pan-x pan-y",
      selectors: ["pan-x pan-y", "pan-y pan-x"]
    }],
    E = "",
    F = window.PointerEvent || window.MSPointerEvent,
    G = !window.ShadowDOMPolyfill && document.head.createShadowRoot,
    H = u.pointermap,
    I = 25,
    J = [1, 4, 2, 8, 16],
    K = !1;
  try {
    K = 1 === new MouseEvent("test", {
      buttons: 1
    }).buttons
  } catch (L) {}
  var M, N = {
      POINTER_ID: 1,
      POINTER_TYPE: "mouse",
      events: ["mousedown", "mousemove", "mouseup", "mouseover", "mouseout"],
      register: function (a) {
        u.listen(a, this.events)
      },
      unregister: function (a) {
        u.unlisten(a, this.events)
      },
      lastTouches: [],
      isEventSimulatedFromTouch: function (a) {
        for (var b, c = this.lastTouches, d = a.clientX, e = a.clientY, f = 0, g = c.length; f < g && (b = c[f]); f++) {
          var h = Math.abs(d - b.x),
            i = Math.abs(e - b.y);
          if (h <= I && i <= I) return !0
        }
      },
      prepareEvent: function (a) {
        var b = u.cloneEvent(a),
          c = b.preventDefault;
        return b.preventDefault = function () {
          a.preventDefault(), c()
        }, b.pointerId = this.POINTER_ID, b.isPrimary = !0, b.pointerType = this.POINTER_TYPE, b
      },
      prepareButtonsForMove: function (a, b) {
        var c = H.get(this.POINTER_ID);
        0 !== b.which && c ? a.buttons = c.buttons : a.buttons = 0, b.buttons = a.buttons
      },
      mousedown: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = H.get(this.POINTER_ID),
            c = this.prepareEvent(a);
          K || (c.buttons = J[c.button], b && (c.buttons |= b.buttons), a.buttons = c.buttons), H.set(this.POINTER_ID, a), b && 0 !== b.buttons ? u.move(c) : u.down(c)
        }
      },
      mousemove: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = this.prepareEvent(a);
          K || this.prepareButtonsForMove(b, a), b.button = -1, H.set(this.POINTER_ID, a), u.move(b)
        }
      },
      mouseup: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = H.get(this.POINTER_ID),
            c = this.prepareEvent(a);
          if (!K) {
            var d = J[c.button];
            c.buttons = b ? b.buttons & ~d : 0, a.buttons = c.buttons
          }
          H.set(this.POINTER_ID, a),
            c.buttons &= ~J[c.button], 0 === c.buttons ? u.up(c) : u.move(c)
        }
      },
      mouseover: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = this.prepareEvent(a);
          K || this.prepareButtonsForMove(b, a), b.button = -1, H.set(this.POINTER_ID, a), u.enterOver(b)
        }
      },
      mouseout: function (a) {
        if (!this.isEventSimulatedFromTouch(a)) {
          var b = this.prepareEvent(a);
          K || this.prepareButtonsForMove(b, a), b.button = -1, u.leaveOut(b)
        }
      },
      cancel: function (a) {
        var b = this.prepareEvent(a);
        u.cancel(b), this.deactivateMouse()
      },
      deactivateMouse: function () {
        H["delete"](this.POINTER_ID)
      }
    },
    O = u.captureInfo,
    P = v.findTarget.bind(v),
    Q = v.allShadows.bind(v),
    R = u.pointermap,
    S = 2500,
    T = 200,
    U = "touch-action",
    V = {
      events: ["touchstart", "touchmove", "touchend", "touchcancel"],
      register: function (a) {
        M.enableOnSubtree(a)
      },
      unregister: function () {},
      elementAdded: function (a) {
        var b = a.getAttribute(U),
          c = this.touchActionToScrollType(b);
        c && (a._scrollType = c, u.listen(a, this.events),
          Q(a).forEach(function (a) {
            a._scrollType = c, u.listen(a, this.events)
          }, this))
      },
      elementRemoved: function (a) {
        a._scrollType = void 0, u.unlisten(a, this.events),
          Q(a).forEach(function (a) {
            a._scrollType = void 0, u.unlisten(a, this.events)
          }, this)
      },
      elementChanged: function (a, b) {
        var c = a.getAttribute(U),
          d = this.touchActionToScrollType(c),
          e = this.touchActionToScrollType(b);
        d && e ? (a._scrollType = d, Q(a).forEach(function (a) {
          a._scrollType = d
        }, this)) : e ? this.elementRemoved(a) : d && this.elementAdded(a)
      },
      scrollTypes: {
        EMITTER: "none",
        XSCROLLER: "pan-x",
        YSCROLLER: "pan-y",
        SCROLLER: /^(?:pan-x pan-y)|(?:pan-y pan-x)|auto$/
      },
      touchActionToScrollType: function (a) {
        var b = a,
          c = this.scrollTypes;
        return "none" === b ? "none" : b === c.XSCROLLER ? "X" : b === c.YSCROLLER ? "Y" : c.SCROLLER.exec(b) ? "XY" : void 0
      },
      POINTER_TYPE: "touch",
      firstTouch: null,
      isPrimaryTouch: function (a) {
        return this.firstTouch === a.identifier
      },
      setPrimaryTouch: function (a) {
        (0 === R.size || 1 === R.size && R.has(1)) && (this.firstTouch = a.identifier, this.firstXY = {
          X: a.clientX,
          Y: a.clientY
        }, this.scrolling = !1, this.cancelResetClickCount())
      },
      removePrimaryPointer: function (a) {
        a.isPrimary && (this.firstTouch = null, this.firstXY = null, this.resetClickCount())
      },
      clickCount: 0,
      resetId: null,
      resetClickCount: function () {
        var a = function () {
          this.clickCount = 0, this.resetId = null
        }.bind(this);
        this.resetId = setTimeout(a, T)
      },
      cancelResetClickCount: function () {
        this.resetId && clearTimeout(this.resetId)
      },
      typeToButtons: function (a) {
        var b = 0;
        return "touchstart" !== a && "touchmove" !== a || (b = 1), b
      },
      touchToPointer: function (a) {
        var b = this.currentTouchEvent,
          c = u.cloneEvent(a),
          d = c.pointerId = a.identifier + 2;
        c.target = O[d] || P(c), c.bubbles = !0, c.cancelable = !0, c.detail = this.clickCount, c.button = 0, c.buttons = this.typeToButtons(b.type), c.width = 2 * (a.radiusX || a.webkitRadiusX || 0), c.height = 2 * (a.radiusY || a.webkitRadiusY || 0), c.pressure = a.force || a.webkitForce || .5, c.isPrimary = this.isPrimaryTouch(a), c.pointerType = this.POINTER_TYPE,
          c.altKey = b.altKey, c.ctrlKey = b.ctrlKey, c.metaKey = b.metaKey, c.shiftKey = b.shiftKey;
        var e = this;
        return c.preventDefault = function () {
          e.scrolling = !1, e.firstXY = null, b.preventDefault()
        }, c
      },
      processTouches: function (a, b) {
        var c = a.changedTouches;
        this.currentTouchEvent = a;
        for (var d, e = 0; e < c.length; e++) d = c[e], b.call(this, this.touchToPointer(d))
      },
      shouldScroll: function (a) {
        if (this.firstXY) {
          var b, c = a.currentTarget._scrollType;
          if ("none" === c)
            b = !1;
          else if ("XY" === c)
            b = !0;
          else {
            var d = a.changedTouches[0],
              e = c,
              f = "Y" === c ? "X" : "Y",
              g = Math.abs(d["client" + e] - this.firstXY[e]),
              h = Math.abs(d["client" + f] - this.firstXY[f]);
            b = g >= h
          }
          return this.firstXY = null, b
        }
      },
      findTouch: function (a, b) {
        for (var c, d = 0, e = a.length; d < e && (c = a[d]); d++)
          if (c.identifier === b) return !0
      },
      vacuumTouches: function (a) {
        var b = a.touches;
        if (R.size >= b.length) {
          var c = [];
          R.forEach(function (a, d) {
            if (1 !== d && !this.findTouch(b, d - 2)) {
              var e = a.out;
              c.push(e)
            }
          }, this), c.forEach(this.cancelOut, this)
        }
      },
      touchstart: function (a) {
        this.vacuumTouches(a), this.setPrimaryTouch(a.changedTouches[0]), this.dedupSynthMouse(a), this.scrolling || (this.clickCount++, this.processTouches(a, this.overDown))
      },
      overDown: function (a) {
        R.set(a.pointerId, {
          target: a.target,
          out: a,
          outTarget: a.target
        }), u.enterOver(a), u.down(a)
      },
      touchmove: function (a) {
        this.scrolling || (this.shouldScroll(a) ? (this.scrolling = !0, this.touchcancel(a)) : (a.preventDefault(), this.processTouches(a, this.moveOverOut)))
      },
      moveOverOut: function (a) {
        var b = a,
          c = R.get(b.pointerId);
        if (c) {
          var d = c.out,
            e = c.outTarget;
          u.move(b), d && e !== b.target && (d.relatedTarget = b.target, b.relatedTarget = e,
            d.target = e, b.target ? (u.leaveOut(d), u.enterOver(b)) : (
              b.target = e, b.relatedTarget = null, this.cancelOut(b))), c.out = b, c.outTarget = b.target
        }
      },
      touchend: function (a) {
        this.dedupSynthMouse(a), this.processTouches(a, this.upOut)
      },
      upOut: function (a) {
        this.scrolling || (u.up(a), u.leaveOut(a)), this.cleanUpPointer(a)
      },
      touchcancel: function (a) {
        this.processTouches(a, this.cancelOut)
      },
      cancelOut: function (a) {
        u.cancel(a), u.leaveOut(a), this.cleanUpPointer(a)
      },
      cleanUpPointer: function (a) {
        R["delete"](a.pointerId), this.removePrimaryPointer(a)
      },
      dedupSynthMouse: function (a) {
        var b = N.lastTouches,
          c = a.changedTouches[0];
        if (this.isPrimaryTouch(c)) {
          var d = {
            x: c.clientX,
            y: c.clientY
          };
          b.push(d);
          var e = function (a, b) {
            var c = a.indexOf(b);
            c > -1 && a.splice(c, 1)
          }.bind(null, b, d);
          setTimeout(e, S)
        }
      }
    };
  M = new c(V.elementAdded, V.elementRemoved, V.elementChanged, V);
  var W, X, Y, Z = u.pointermap,
    $ = window.MSPointerEvent && "number" == typeof window.MSPointerEvent.MSPOINTER_TYPE_MOUSE,
    _ = {
      events: ["MSPointerDown", "MSPointerMove", "MSPointerUp", "MSPointerOut", "MSPointerOver", "MSPointerCancel", "MSGotPointerCapture", "MSLostPointerCapture"],
      register: function (a) {
        u.listen(a, this.events)
      },
      unregister: function (a) {
        u.unlisten(a, this.events)
      },
      POINTER_TYPES: ["", "unavailable", "touch", "pen", "mouse"],
      prepareEvent: function (a) {
        var b = a;
        return $ && (b = u.cloneEvent(a), b.pointerType = this.POINTER_TYPES[a.pointerType]), b
      },
      cleanup: function (a) {
        Z["delete"](a)
      },
      MSPointerDown: function (a) {
        Z.set(a.pointerId, a);
        var b = this.prepareEvent(a);
        u.down(b)
      },
      MSPointerMove: function (a) {
        var b = this.prepareEvent(a);
        u.move(b)
      },
      MSPointerUp: function (a) {
        var b = this.prepareEvent(a);
        u.up(b), this.cleanup(a.pointerId)
      },
      MSPointerOut: function (a) {
        var b = this.prepareEvent(a);
        u.leaveOut(b)
      },
      MSPointerOver: function (a) {
        var b = this.prepareEvent(a);
        u.enterOver(b)
      },
      MSPointerCancel: function (a) {
        var b = this.prepareEvent(a);
        u.cancel(b), this.cleanup(a.pointerId)
      },
      MSLostPointerCapture: function (a) {
        var b = u.makeEvent("lostpointercapture", a);
        u.dispatchEvent(b)
      },
      MSGotPointerCapture: function (a) {
        var b = u.makeEvent("gotpointercapture", a);
        u.dispatchEvent(b)
      }
    },
    aa = window.navigator;
  aa.msPointerEnabled ? (W = function (a) {
    i(a), j(this), k(a) && (u.setCapture(a, this, !0), this.msSetPointerCapture(a))
  }, X = function (a) {
    i(a), u.releaseCapture(a, !0), this.msReleasePointerCapture(a)
  }) : (W = function (a) {
    i(a), j(this), k(a) && u.setCapture(a, this)
  }, X = function (a) {
    i(a), u.releaseCapture(a)
  }), Y = function (a) {
    return !!u.captureInfo[a]
  }, g(), h(), l();
  var ba = {
    dispatcher: u,
    Installer: c,
    PointerEvent: a,
    PointerMap: p,
    targetFinding: v
  };
  return ba
});
///////////////////////////////////////////////

///////////////////////////////////////////////
var config = {"show_fabrication":false,"redraw_on_drag":true,"highlight_pin1":false,"extra_fields":["BOM_Manufacturer","BOM_Manufacturer Part","BOM_Supplier","BOM_Supplier Part"],"dark_mode":false,"bom_view":"left-right","board_rotation":0,"checkboxes":"Sourced,Placed","show_silkscreen":true,"show_pads":true,"layer_view":"FB"};
///////////////////////////////////////////////

///////////////////////////////////////////////
var pcbdata = {"ibom_version":"v2.3-50-g53ae\n","edges_bbox":{"minx":4007.1,"miny":3088.9,"maxx":4151,"maxy":3382.4},"edges":[{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4138.1098,3113.5949 4138.1098,3357.6889"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4051.496,3101.7842 4126.2987,3101.7839"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4126.2987,3369.5 4051.496,3369.5"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4019.9999,3338.0039 4019.9999,3133.28"},{"type":"arc","width":1,"svgpath":"M 4020 3133.28 A 31.496 31.496 0 0 1 4051.496 3101.784","net":""},{"type":"arc","width":1,"svgpath":"M 4051.496 3369.5 A 31.496 31.496 0 0 1 4020 3338.004","net":""},{"type":"arc","width":1,"svgpath":"M 4138.11 3357.689 A 11.811 11.811 0 0 1 4126.299 3369.5","net":""},{"type":"arc","width":1,"svgpath":"M 4126.299 3101.784 A 11.811 11.811 0 0 1 4138.11 3113.595","net":""},{"type":"circle","start":[4126.299,3113.595],"radius":4.7244,"width":0.5},{"type":"circle","start":[4031.811,3129.343],"radius":4.7244,"width":0.5},{"type":"circle","start":[4031.811,3341.941],"radius":4.7244,"width":0.5},{"type":"circle","start":[4126.299,3357.689],"radius":4.7244,"width":0.5}],"drawings":{"silkscreen":{"F":[{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4035.9968,3211.8664 4035.9968,3214.1347 4066.9968,3214.1347"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4035.9968,3194.1499 4035.9968,3203.1196"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4066.9968,3185.4031 4066.9968,3183.1347 4035.9968,3183.1347 4035.9968,3185.4031"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4066.9968,3203.1196 4066.9968,3194.1499"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4066.9968,3214.1347 4066.9968,3211.8664"},{"type":"circle","_svgpath":"M 4051.497, 3198.635 m -10.259, 0 a 10.259,10.259 0 1,0 20.518,0 a 10.259,10.259 0 1,0 -20.518,0","start":[4051.497,3198.635],"radius":10.259,"width":"1","net":""},{"type":"text","svgpath":"M 4020.3752 3223.7428 L 4020.3752 3228.0328 M 4018.9452 3223.7428 L 4021.8052 3223.7428 M 4026.2252 3224.7628 L 4026.0252 3224.3528 L 4025.6152 3223.9428 L 4025.2052 3223.7428 L 4024.3852 3223.7428 L 4023.9752 3223.9428 L 4023.5652 3224.3528 L 4023.3652 3224.7628 L 4023.1552 3225.3828 L 4023.1552 3226.4028 L 4023.3652 3227.0128 L 4023.5652 3227.4228 L 4023.9752 3227.8328 L 4024.3852 3228.0328 L 4025.2052 3228.0328 L 4025.6152 3227.8328 L 4026.0252 3227.4228 L 4026.2252 3227.0128 M 4027.5752 3226.1928 L 4031.2552 3226.1928 M 4032.6052 3224.5628 L 4033.0152 3224.3528 L 4033.6352 3223.7428 L 4033.6352 3228.0328 M 4034.9852 3224.5628 L 4035.3952 3224.3528 L 4036.0052 3223.7428 L 4036.0052 3228.0328 M 4037.3552 3224.5628 L 4037.7652 3224.3528 L 4038.3752 3223.7428 L 4038.3752 3228.0328 M 4042.5952 3223.7428 L 4040.5452 3228.0328 M 4039.7252 3223.7428 L 4042.5952 3223.7428 M 4043.9452 3226.1928 L 4047.6252 3226.1928 M 4048.9752 3223.7428 L 4048.9752 3228.0328 M 4048.9752 3223.7428 L 4050.8152 3223.7428 L 4051.4252 3223.9428 L 4051.6352 3224.1528 L 4051.8352 3224.5628 L 4051.8352 3224.9728 L 4051.6352 3225.3828 L 4051.4252 3225.5828 L 4050.8152 3225.7828 M 4048.9752 3225.7828 L 4050.8152 3225.7828 L 4051.4252 3225.9928 L 4051.6352 3226.1928 L 4051.8352 3226.6028 L 4051.8352 3227.2228 L 4051.6352 3227.6328 L 4051.4252 3227.8328 L 4050.8152 3228.0328 L 4048.9752 3228.0328","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4049.6487 3217.2665 L 4049.6487 3217.2665 Q 4049.6487 3217.0665 4049.7287 3216.9165 Q 4049.8087 3216.7565 4049.9587 3216.6565 Q 4050.1087 3216.5565 4050.3187 3216.5065 Q 4050.5287 3216.4565 4050.7787 3216.4565 L 4050.7787 3216.4565 Q 4050.8987 3216.4565 4051.0087 3216.4665 Q 4051.1287 3216.4665 4051.2287 3216.4865 Q 4051.3287 3216.4965 4051.4287 3216.5165 Q 4051.5187 3216.5365 4051.5887 3216.5565 L 4051.5887 3216.5565 L 4051.5887 3216.9265 Q 4051.4287 3216.8665 4051.2187 3216.8365 Q 4051.0187 3216.7965 4050.7587 3216.7965 L 4050.7587 3216.7965 Q 4050.5687 3216.7965 4050.4287 3216.8265 Q 4050.2987 3216.8565 4050.2187 3216.9165 Q 4050.1287 3216.9765 4050.0887 3217.0565 Q 4050.0587 3217.1365 4050.0587 3217.2465 L 4050.0587 3217.2465 Q 4050.0587 3217.3665 4050.1187 3217.4465 Q 4050.1787 3217.5265 4050.2887 3217.5965 Q 4050.3987 3217.6565 4050.5287 3217.7165 Q 4050.6687 3217.7665 4050.8087 3217.8265 Q 4050.9487 3217.8765 4051.0787 3217.9465 Q 4051.2187 3218.0165 4051.3187 3218.1065 Q 4051.4287 3218.1965 4051.4887 3218.3165 Q 4051.5587 3218.4465 4051.5587 3218.6165 L 4051.5587 3218.6165 Q 4051.5587 3218.7565 4051.4987 3218.9065 Q 4051.4287 3219.0465 4051.3087 3219.1565 Q 4051.1787 3219.2665 4050.9687 3219.3365 Q 4050.7687 3219.4065 4050.4887 3219.4065 L 4050.4887 3219.4065 Q 4050.4187 3219.4065 4050.3287 3219.3965 Q 4050.2487 3219.3865 4050.1587 3219.3765 Q 4050.0687 3219.3665 4049.9887 3219.3465 Q 4049.8987 3219.3365 4049.8287 3219.3165 L 4049.8287 3219.3165 L 4049.8287 3218.9665 Q 4049.9987 3219.0165 4050.1687 3219.0365 Q 4050.3387 3219.0665 4050.4987 3219.0665 L 4050.4987 3219.0665 Q 4050.8287 3219.0665 4050.9887 3218.9565 Q 4051.1487 3218.8365 4051.1487 3218.6565 L 4051.1487 3218.6565 Q 4051.1487 3218.5365 4051.0787 3218.4565 Q 4051.0187 3218.3665 4050.9087 3218.3065 Q 4050.8087 3218.2365 4050.6687 3218.1865 Q 4050.5387 3218.1265 4050.3987 3218.0765 Q 4050.2587 3218.0165 4050.1187 3217.9465 Q 4049.9887 3217.8765 4049.8787 3217.7865 Q 4049.7787 3217.6965 4049.7087 3217.5665 Q 4049.6487 3217.4465 4049.6487 3217.2665 Z M 4047.3387 3219.3665 L 4046.9887 3219.3665 L 4047.1787 3216.4965 L 4047.6887 3216.4965 L 4048.0387 3217.5165 L 4048.1387 3217.8465 L 4048.2487 3217.4865 L 4048.5787 3216.4965 L 4049.0687 3216.4965 L 4049.2587 3219.3665 L 4048.8887 3219.3665 L 4048.7787 3217.4065 L 4048.7487 3216.8765 L 4048.6087 3217.3265 L 4048.2587 3218.3965 L 4047.9887 3218.3965 L 4047.5887 3217.2565 L 4047.4587 3216.8765 L 4047.4487 3217.2665 L 4047.3387 3219.3665 Z M 4044.7487 3217.4065 L 4044.7487 3217.4065 Q 4044.7487 3217.1965 4044.8387 3217.0265 Q 4044.9287 3216.8465 4045.0887 3216.7165 Q 4045.2487 3216.5965 4045.4687 3216.5265 Q 4045.6887 3216.4565 4045.9487 3216.4565 L 4045.9487 3216.4565 Q 4046.0087 3216.4565 4046.0887 3216.4565 Q 4046.1587 3216.4565 4046.2287 3216.4665 Q 4046.2987 3216.4665 4046.3687 3216.4765 Q 4046.4387 3216.4865 4046.4987 3216.4965 L 4046.4987 3216.4965 L 4046.4987 3216.8365 Q 4046.3787 3216.8065 4046.2287 3216.7965 Q 4046.0687 3216.7865 4045.9187 3216.7865 L 4045.9187 3216.7865 Q 4045.7387 3216.7865 4045.5987 3216.8265 Q 4045.4587 3216.8665 4045.3587 3216.9465 Q 4045.2587 3217.0265 4045.2087 3217.1365 Q 4045.1587 3217.2465 4045.1587 3217.3865 L 4045.1587 3217.3865 Q 4045.1587 3217.6565 4045.3487 3217.7765 Q 4045.5387 3217.8965 4045.8987 3217.8965 L 4045.8987 3217.8965 L 4046.4487 3217.8965 L 4046.4487 3219.3665 L 4044.8987 3219.3665 L 4044.8987 3219.0265 L 4046.0887 3219.0265 L 4046.0887 3218.2265 L 4045.8387 3218.2265 Q 4045.6287 3218.2265 4045.4287 3218.1865 Q 4045.2387 3218.1465 4045.0887 3218.0565 Q 4044.9287 3217.9665 4044.8387 3217.8065 Q 4044.7487 3217.6465 4044.7487 3217.4065 Z","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4129.989,3185.4026 4129.989,3183.1343 4098.989,3183.1343"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4129.989,3203.1191 4129.989,3194.1494"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.989,3211.8659 4098.989,3214.1343 4129.989,3214.1343 4129.989,3211.8659"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.989,3194.1494 4098.989,3203.1191"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.989,3183.1343 4098.989,3185.4026"},{"type":"circle","_svgpath":"M 4114.489, 3198.634 m -10.259, 0 a 10.259,10.259 0 1,0 20.518,0 a 10.259,10.259 0 1,0 -20.518,0","start":[4114.489,3198.634],"radius":10.259,"width":"1","net":""},{"type":"text","svgpath":"M 4115.5804 3169.2361 L 4115.5804 3173.5261 M 4114.1504 3169.2361 L 4117.0104 3169.2361 M 4121.4304 3170.2561 L 4121.2304 3169.8461 L 4120.8204 3169.4361 L 4120.4104 3169.2361 L 4119.5904 3169.2361 L 4119.1804 3169.4361 L 4118.7704 3169.8461 L 4118.5704 3170.2561 L 4118.3604 3170.8761 L 4118.3604 3171.8961 L 4118.5704 3172.5061 L 4118.7704 3172.9161 L 4119.1804 3173.3261 L 4119.5904 3173.5261 L 4120.4104 3173.5261 L 4120.8204 3173.3261 L 4121.2304 3172.9161 L 4121.4304 3172.5061 M 4122.7804 3171.6861 L 4126.4604 3171.6861 M 4127.8104 3170.0561 L 4128.2204 3169.8461 L 4128.8404 3169.2361 L 4128.8404 3173.5261 M 4130.1904 3170.0561 L 4130.6004 3169.8461 L 4131.2104 3169.2361 L 4131.2104 3173.5261 M 4132.5604 3170.0561 L 4132.9704 3169.8461 L 4133.5804 3169.2361 L 4133.5804 3173.5261 M 4137.8004 3169.2361 L 4135.7504 3173.5261 M 4134.9304 3169.2361 L 4137.8004 3169.2361 M 4139.1504 3171.6861 L 4142.8304 3171.6861 M 4144.1804 3169.2361 L 4144.1804 3173.5261 M 4144.1804 3169.2361 L 4146.0204 3169.2361 L 4146.6304 3169.4361 L 4146.8404 3169.6461 L 4147.0404 3170.0561 L 4147.0404 3170.4661 L 4146.8404 3170.8761 L 4146.6304 3171.0761 L 4146.0204 3171.2761 M 4144.1804 3171.2761 L 4146.0204 3171.2761 L 4146.6304 3171.4861 L 4146.8404 3171.6861 L 4147.0404 3172.0961 L 4147.0404 3172.7161 L 4146.8404 3173.1261 L 4146.6304 3173.3261 L 4146.0204 3173.5261 L 4144.1804 3173.5261","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4116.3387 3179.9965 L 4116.3387 3179.9965 Q 4116.3387 3180.2065 4116.2587 3180.3565 Q 4116.1687 3180.5065 4116.0287 3180.6165 Q 4115.8787 3180.7165 4115.6687 3180.7665 Q 4115.4587 3180.8165 4115.1987 3180.8165 L 4115.1987 3180.8165 Q 4115.0887 3180.8165 4114.9787 3180.8065 Q 4114.8587 3180.7965 4114.7587 3180.7865 Q 4114.6487 3180.7765 4114.5587 3180.7565 Q 4114.4687 3180.7365 4114.3887 3180.7165 L 4114.3887 3180.7165 L 4114.3887 3180.3365 Q 4114.5587 3180.3965 4114.7687 3180.4365 Q 4114.9687 3180.4665 4115.2287 3180.4665 L 4115.2287 3180.4665 Q 4115.4187 3180.4665 4115.5487 3180.4365 Q 4115.6887 3180.4165 4115.7687 3180.3565 Q 4115.8587 3180.2965 4115.8887 3180.2165 Q 4115.9287 3180.1265 4115.9287 3180.0165 L 4115.9287 3180.0165 Q 4115.9287 3179.9065 4115.8687 3179.8265 Q 4115.7987 3179.7365 4115.6987 3179.6765 Q 4115.5887 3179.6065 4115.4587 3179.5565 Q 4115.3187 3179.5065 4115.1787 3179.4465 Q 4115.0387 3179.3865 4114.9087 3179.3165 Q 4114.7687 3179.2565 4114.6687 3179.1665 Q 4114.5587 3179.0665 4114.4887 3178.9465 Q 4114.4287 3178.8265 4114.4287 3178.6565 L 4114.4287 3178.6565 Q 4114.4287 3178.5065 4114.4887 3178.3665 Q 4114.5487 3178.2265 4114.6787 3178.1165 Q 4114.8087 3177.9965 4115.0187 3177.9365 Q 4115.2187 3177.8665 4115.4987 3177.8665 L 4115.4987 3177.8665 Q 4115.5687 3177.8665 4115.6587 3177.8765 Q 4115.7387 3177.8765 4115.8287 3177.8865 Q 4115.9187 3177.9065 4115.9987 3177.9165 Q 4116.0787 3177.9365 4116.1587 3177.9465 L 4116.1587 3177.9465 L 4116.1587 3178.3065 Q 4115.9887 3178.2565 4115.8187 3178.2265 Q 4115.6487 3178.2065 4115.4887 3178.2065 L 4115.4887 3178.2065 Q 4115.1587 3178.2065 4114.9987 3178.3165 Q 4114.8387 3178.4265 4114.8387 3178.6165 L 4114.8387 3178.6165 Q 4114.8387 3178.7365 4114.8987 3178.8165 Q 4114.9687 3178.8965 4115.0687 3178.9665 Q 4115.1787 3179.0365 4115.3087 3179.0865 Q 4115.4487 3179.1365 4115.5887 3179.1965 Q 4115.7287 3179.2565 4115.8687 3179.3265 Q 4115.9987 3179.3865 4116.1087 3179.4865 Q 4116.2087 3179.5765 4116.2787 3179.7065 Q 4116.3387 3179.8265 4116.3387 3179.9965 Z M 4118.6487 3177.9065 L 4118.9987 3177.9065 L 4118.8087 3180.7765 L 4118.2987 3180.7765 L 4117.9387 3179.7565 L 4117.8387 3179.4265 L 4117.7387 3179.7765 L 4117.4087 3180.7765 L 4116.9187 3180.7765 L 4116.7187 3177.9065 L 4117.0887 3177.9065 L 4117.2087 3179.8565 L 4117.2387 3180.3965 L 4117.3787 3179.9365 L 4117.7187 3178.8765 L 4117.9887 3178.8765 L 4118.3887 3180.0165 L 4118.5287 3180.3965 L 4118.5387 3179.9965 L 4118.6487 3177.9065 Z M 4121.3487 3179.8665 L 4121.3487 3179.8665 Q 4121.3487 3180.0665 4121.2787 3180.2365 Q 4121.2087 3180.4165 4121.0687 3180.5365 Q 4120.9387 3180.6665 4120.7587 3180.7465 Q 4120.5687 3180.8165 4120.3487 3180.8165 L 4120.3487 3180.8165 Q 4120.1087 3180.8165 4119.9287 3180.7365 Q 4119.7387 3180.6665 4119.6187 3180.5065 Q 4119.4987 3180.3465 4119.4287 3180.1065 Q 4119.3687 3179.8665 4119.3687 3179.5465 L 4119.3687 3179.5465 Q 4119.3687 3179.3265 4119.3987 3179.1165 Q 4119.4287 3178.9065 4119.4887 3178.7265 Q 4119.5587 3178.5465 4119.6687 3178.3965 Q 4119.7787 3178.2465 4119.9387 3178.1365 Q 4120.1087 3178.0265 4120.3287 3177.9665 Q 4120.5487 3177.9065 4120.8387 3177.9065 L 4120.8387 3177.9065 L 4121.1287 3177.9065 L 4121.1287 3178.2365 L 4120.8187 3178.2365 Q 4120.5587 3178.2365 4120.3687 3178.2965 Q 4120.1787 3178.3665 4120.0587 3178.4765 Q 4119.9287 3178.5865 4119.8587 3178.7465 Q 4119.7887 3178.9065 4119.7687 3179.0965 L 4119.7687 3179.0965 L 4119.7687 3179.1865 Q 4119.8987 3179.1065 4120.0787 3179.0565 Q 4120.2687 3179.0065 4120.4787 3179.0065 L 4120.4787 3179.0065 Q 4120.6887 3179.0065 4120.8587 3179.0665 Q 4121.0187 3179.1365 4121.1287 3179.2465 Q 4121.2387 3179.3565 4121.2887 3179.5165 Q 4121.3487 3179.6765 4121.3487 3179.8665 Z M 4120.9487 3179.8865 L 4120.9487 3179.8865 Q 4120.9487 3179.7565 4120.9187 3179.6565 Q 4120.8887 3179.5465 4120.8187 3179.4765 Q 4120.7487 3179.3965 4120.6487 3179.3565 Q 4120.5387 3179.3165 4120.3987 3179.3165 L 4120.3987 3179.3165 Q 4120.3087 3179.3165 4120.2287 3179.3365 Q 4120.1387 3179.3465 4120.0587 3179.3765 Q 4119.9787 3179.4065 4119.8987 3179.4365 Q 4119.8287 3179.4765 4119.7687 3179.5165 L 4119.7687 3179.5165 Q 4119.7687 3179.7965 4119.7987 3179.9865 Q 4119.8387 3180.1765 4119.9187 3180.2865 Q 4119.9987 3180.4065 4120.1087 3180.4565 Q 4120.2287 3180.5065 4120.3787 3180.5065 L 4120.3787 3180.5065 Q 4120.4987 3180.5065 4120.6087 3180.4565 Q 4120.7087 3180.4165 4120.7887 3180.3365 Q 4120.8587 3180.2665 4120.9087 3180.1465 Q 4120.9487 3180.0365 4120.9487 3179.8865 Z","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4069.761,3151.6384 4067.4927,3151.6384 4067.4927,3182.6384"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4087.4775,3151.6384 4078.5078,3151.6384"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4096.2243,3182.6384 4098.4927,3182.6384 4098.4927,3151.6384 4096.2243,3151.6384"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4078.5078,3182.6384 4087.4775,3182.6384"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4067.4927,3182.6384 4069.761,3182.6384"},{"type":"circle","_svgpath":"M 4082.992, 3167.138 m -10.259, 0 a 10.259,10.259 0 1,0 20.518,0 a 10.259,10.259 0 1,0 -20.518,0","start":[4082.992,3167.138],"radius":10.259,"width":"1","net":""},{"type":"text","svgpath":"M 4053.5944 3166.047 L 4057.8844 3166.047 M 4053.5944 3167.477 L 4053.5944 3164.617 M 4054.6144 3160.197 L 4054.2044 3160.397 L 4053.7944 3160.807 L 4053.5944 3161.217 L 4053.5944 3162.037 L 4053.7944 3162.447 L 4054.2044 3162.857 L 4054.6144 3163.057 L 4055.2344 3163.267 L 4056.2544 3163.267 L 4056.8644 3163.057 L 4057.2744 3162.857 L 4057.6844 3162.447 L 4057.8844 3162.037 L 4057.8844 3161.217 L 4057.6844 3160.807 L 4057.2744 3160.397 L 4056.8644 3160.197 M 4056.0444 3158.847 L 4056.0444 3155.167 M 4054.4144 3153.817 L 4054.2044 3153.407 L 4053.5944 3152.787 L 4057.8844 3152.787 M 4054.4144 3151.437 L 4054.2044 3151.027 L 4053.5944 3150.417 L 4057.8844 3150.417 M 4054.4144 3149.067 L 4054.2044 3148.657 L 4053.5944 3148.047 L 4057.8844 3148.047 M 4053.5944 3143.827 L 4057.8844 3145.877 M 4053.5944 3146.697 L 4053.5944 3143.827 M 4056.0444 3142.477 L 4056.0444 3138.797 M 4053.5944 3137.447 L 4057.8844 3137.447 M 4053.5944 3137.447 L 4053.5944 3135.607 L 4053.7944 3134.997 L 4054.0044 3134.787 L 4054.4144 3134.587 L 4054.8244 3134.587 L 4055.2344 3134.787 L 4055.4344 3134.997 L 4055.6344 3135.607 M 4055.6344 3137.447 L 4055.6344 3135.607 L 4055.8444 3134.997 L 4056.0444 3134.787 L 4056.4544 3134.587 L 4057.0744 3134.587 L 4057.4844 3134.787 L 4057.6844 3134.997 L 4057.8844 3135.607 L 4057.8844 3137.447","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4064.355 3165.288 L 4064.355 3165.288 Q 4064.565 3165.288 4064.715 3165.368 Q 4064.865 3165.458 4064.975 3165.598 Q 4065.075 3165.748 4065.125 3165.958 Q 4065.175 3166.168 4065.175 3166.428 L 4065.175 3166.428 Q 4065.175 3166.538 4065.165 3166.648 Q 4065.155 3166.768 4065.145 3166.868 Q 4065.135 3166.978 4065.115 3167.068 Q 4065.095 3167.158 4065.075 3167.238 L 4065.075 3167.238 L 4064.695 3167.238 Q 4064.755 3167.068 4064.795 3166.858 Q 4064.825 3166.658 4064.825 3166.398 L 4064.825 3166.398 Q 4064.825 3166.208 4064.795 3166.078 Q 4064.765 3165.938 4064.715 3165.858 Q 4064.655 3165.768 4064.565 3165.738 Q 4064.485 3165.698 4064.375 3165.698 L 4064.375 3165.698 Q 4064.265 3165.698 4064.175 3165.758 Q 4064.095 3165.828 4064.035 3165.928 Q 4063.965 3166.038 4063.915 3166.168 Q 4063.855 3166.308 4063.805 3166.448 Q 4063.745 3166.588 4063.675 3166.718 Q 4063.615 3166.858 4063.525 3166.958 Q 4063.425 3167.068 4063.305 3167.138 Q 4063.185 3167.198 4063.015 3167.198 L 4063.015 3167.198 Q 4062.865 3167.198 4062.725 3167.138 Q 4062.585 3167.078 4062.475 3166.948 Q 4062.355 3166.818 4062.295 3166.608 Q 4062.225 3166.408 4062.225 3166.128 L 4062.225 3166.128 Q 4062.225 3166.058 4062.225 3165.968 Q 4062.235 3165.888 4062.245 3165.798 Q 4062.265 3165.708 4062.275 3165.628 Q 4062.295 3165.548 4062.305 3165.468 L 4062.305 3165.468 L 4062.665 3165.468 Q 4062.615 3165.638 4062.585 3165.808 Q 4062.565 3165.978 4062.565 3166.138 L 4062.565 3166.138 Q 4062.565 3166.468 4062.675 3166.628 Q 4062.785 3166.788 4062.975 3166.788 L 4062.975 3166.788 Q 4063.095 3166.788 4063.175 3166.728 Q 4063.255 3166.658 4063.325 3166.558 Q 4063.385 3166.448 4063.445 3166.318 Q 4063.495 3166.178 4063.555 3166.038 Q 4063.615 3165.898 4063.675 3165.758 Q 4063.745 3165.628 4063.845 3165.518 Q 4063.935 3165.418 4064.055 3165.348 Q 4064.185 3165.288 4064.355 3165.288 Z M 4062.265 3162.978 L 4062.265 3162.628 L 4065.135 3162.818 L 4065.135 3163.328 L 4064.115 3163.688 L 4063.785 3163.788 L 4064.135 3163.888 L 4065.135 3164.218 L 4065.135 3164.708 L 4062.265 3164.908 L 4062.265 3164.538 L 4064.215 3164.418 L 4064.755 3164.388 L 4064.295 3164.248 L 4063.235 3163.908 L 4063.235 3163.638 L 4064.375 3163.238 L 4064.755 3163.098 L 4064.355 3163.088 L 4062.265 3162.978 Z M 4064.265 3160.368 L 4064.265 3160.368 Q 4064.455 3160.368 4064.615 3160.448 Q 4064.785 3160.518 4064.905 3160.678 Q 4065.035 3160.828 4065.105 3161.068 Q 4065.175 3161.298 4065.175 3161.608 L 4065.175 3161.608 Q 4065.175 3161.778 4065.165 3161.918 Q 4065.155 3162.048 4065.135 3162.168 L 4065.135 3162.168 L 4064.795 3162.168 Q 4064.815 3162.028 4064.825 3161.878 Q 4064.845 3161.728 4064.845 3161.568 L 4064.845 3161.568 Q 4064.845 3161.358 4064.805 3161.198 Q 4064.765 3161.048 4064.695 3160.958 Q 4064.625 3160.858 4064.515 3160.808 Q 4064.415 3160.768 4064.285 3160.768 L 4064.285 3160.768 Q 4064.165 3160.768 4064.075 3160.818 Q 4063.985 3160.878 4063.935 3160.968 Q 4063.875 3161.068 4063.845 3161.198 Q 4063.815 3161.328 4063.815 3161.488 L 4063.815 3161.488 L 4063.815 3161.818 L 4063.495 3161.818 L 4063.495 3161.488 Q 4063.495 3161.358 4063.465 3161.248 Q 4063.425 3161.138 4063.365 3161.068 Q 4063.305 3160.988 4063.205 3160.948 Q 4063.115 3160.908 4062.995 3160.908 L 4062.995 3160.908 Q 4062.765 3160.908 4062.665 3161.048 Q 4062.555 3161.188 4062.555 3161.468 L 4062.555 3161.468 Q 4062.555 3161.608 4062.585 3161.758 Q 4062.615 3161.918 4062.665 3162.088 L 4062.665 3162.088 L 4062.335 3162.088 Q 4062.305 3162.018 4062.285 3161.928 Q 4062.265 3161.848 4062.255 3161.768 Q 4062.235 3161.678 4062.235 3161.598 Q 4062.225 3161.508 4062.225 3161.438 L 4062.225 3161.438 Q 4062.225 3161.208 4062.275 3161.028 Q 4062.325 3160.858 4062.415 3160.738 Q 4062.505 3160.628 4062.635 3160.568 Q 4062.775 3160.508 4062.935 3160.508 L 4062.935 3160.508 Q 4063.185 3160.508 4063.345 3160.638 Q 4063.515 3160.758 4063.615 3160.978 L 4063.615 3160.978 Q 4063.635 3160.868 4063.685 3160.758 Q 4063.735 3160.648 4063.815 3160.568 Q 4063.905 3160.478 4064.015 3160.418 Q 4064.125 3160.368 4064.265 3160.368 Z","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4096.2248,3245.6306 4098.4931,3245.6306 4098.4931,3214.6306"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4078.5083,3245.6306 4087.478,3245.6306"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4069.7615,3214.6306 4067.4931,3214.6306 4067.4931,3245.6306 4069.7615,3245.6306"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4087.478,3214.6306 4078.5083,3214.6306"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.4931,3214.6306 4096.2248,3214.6306"},{"type":"circle","_svgpath":"M 4082.993, 3230.131 m -10.259, 0 a 10.259,10.259 0 1,0 20.518,0 a 10.259,10.259 0 1,0 -20.518,0","start":[4082.993,3230.131],"radius":10.259,"width":"1","net":""},{"type":"text","svgpath":"M 4108.1014 3261.2519 L 4112.3914 3261.2519 M 4108.1014 3262.6819 L 4108.1014 3259.8219 M 4109.1214 3255.4019 L 4108.7114 3255.6019 L 4108.3014 3256.0119 L 4108.1014 3256.4219 L 4108.1014 3257.2419 L 4108.3014 3257.6519 L 4108.7114 3258.0619 L 4109.1214 3258.2619 L 4109.7414 3258.4719 L 4110.7614 3258.4719 L 4111.3714 3258.2619 L 4111.7814 3258.0619 L 4112.1914 3257.6519 L 4112.3914 3257.2419 L 4112.3914 3256.4219 L 4112.1914 3256.0119 L 4111.7814 3255.6019 L 4111.3714 3255.4019 M 4110.5514 3254.0519 L 4110.5514 3250.3719 M 4108.9214 3249.0219 L 4108.7114 3248.6119 L 4108.1014 3247.9919 L 4112.3914 3247.9919 M 4108.9214 3246.6419 L 4108.7114 3246.2319 L 4108.1014 3245.6219 L 4112.3914 3245.6219 M 4108.9214 3244.2719 L 4108.7114 3243.8619 L 4108.1014 3243.2519 L 4112.3914 3243.2519 M 4108.1014 3239.0319 L 4112.3914 3241.0819 M 4108.1014 3241.9019 L 4108.1014 3239.0319 M 4110.5514 3237.6819 L 4110.5514 3234.0019 M 4108.1014 3232.6519 L 4112.3914 3232.6519 M 4108.1014 3232.6519 L 4108.1014 3230.8119 L 4108.3014 3230.2019 L 4108.5114 3229.9919 L 4108.9214 3229.7919 L 4109.3314 3229.7919 L 4109.7414 3229.9919 L 4109.9414 3230.2019 L 4110.1414 3230.8119 M 4110.1414 3232.6519 L 4110.1414 3230.8119 L 4110.3514 3230.2019 L 4110.5514 3229.9919 L 4110.9614 3229.7919 L 4111.5814 3229.7919 L 4111.9914 3229.9919 L 4112.1914 3230.2019 L 4112.3914 3230.8119 L 4112.3914 3232.6519","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4101.626 3231.9808 L 4101.626 3231.9808 Q 4101.426 3231.9808 4101.276 3231.9008 Q 4101.116 3231.8108 4101.016 3231.6708 Q 4100.916 3231.5208 4100.866 3231.3108 Q 4100.816 3231.1008 4100.816 3230.8408 L 4100.816 3230.8408 Q 4100.816 3230.7308 4100.816 3230.6208 Q 4100.826 3230.5008 4100.846 3230.4008 Q 4100.856 3230.2908 4100.876 3230.2008 Q 4100.886 3230.1108 4100.906 3230.0408 L 4100.906 3230.0408 L 4101.286 3230.0408 Q 4101.226 3230.2008 4101.196 3230.4108 Q 4101.156 3230.6108 4101.156 3230.8708 L 4101.156 3230.8708 Q 4101.156 3231.0608 4101.186 3231.1908 Q 4101.216 3231.3308 4101.276 3231.4108 Q 4101.336 3231.5008 4101.416 3231.5308 Q 4101.496 3231.5708 4101.606 3231.5708 L 4101.606 3231.5708 Q 4101.726 3231.5708 4101.806 3231.5108 Q 4101.886 3231.4408 4101.956 3231.3408 Q 4102.016 3231.2308 4102.076 3231.1008 Q 4102.126 3230.9608 4102.186 3230.8208 Q 4102.236 3230.6808 4102.306 3230.5508 Q 4102.376 3230.4108 4102.466 3230.3108 Q 4102.556 3230.2008 4102.676 3230.1408 Q 4102.806 3230.0708 4102.976 3230.0708 L 4102.976 3230.0708 Q 4103.116 3230.0708 4103.266 3230.1308 Q 4103.406 3230.1908 4103.516 3230.3208 Q 4103.626 3230.4508 4103.696 3230.6608 Q 4103.766 3230.8608 4103.766 3231.1408 L 4103.766 3231.1408 Q 4103.766 3231.2108 4103.756 3231.3008 Q 4103.746 3231.3808 4103.736 3231.4708 Q 4103.726 3231.5608 4103.706 3231.6408 Q 4103.696 3231.7208 4103.676 3231.8008 L 4103.676 3231.8008 L 4103.326 3231.8008 Q 4103.376 3231.6308 4103.396 3231.4608 Q 4103.426 3231.2908 4103.426 3231.1308 L 4103.426 3231.1308 Q 4103.426 3230.8008 4103.316 3230.6408 Q 4103.196 3230.4808 4103.016 3230.4808 L 4103.016 3230.4808 Q 4102.896 3230.4808 4102.816 3230.5408 Q 4102.726 3230.6108 4102.666 3230.7108 Q 4102.596 3230.8208 4102.546 3230.9508 Q 4102.486 3231.0908 4102.436 3231.2308 Q 4102.376 3231.3708 4102.306 3231.5108 Q 4102.236 3231.6408 4102.146 3231.7508 Q 4102.056 3231.8508 4101.926 3231.9208 Q 4101.796 3231.9808 4101.626 3231.9808 Z M 4103.726 3234.2908 L 4103.726 3234.6408 L 4100.856 3234.4508 L 4100.856 3233.9408 L 4101.876 3233.5808 L 4102.196 3233.4808 L 4101.846 3233.3808 L 4100.856 3233.0508 L 4100.856 3232.5608 L 4103.726 3232.3608 L 4103.726 3232.7308 L 4101.766 3232.8508 L 4101.236 3232.8808 L 4101.686 3233.0208 L 4102.756 3233.3608 L 4102.756 3233.6308 L 4101.616 3234.0308 L 4101.236 3234.1708 L 4101.626 3234.1808 L 4103.726 3234.2908 Z M 4101.826 3237.1008 L 4101.486 3237.1008 L 4101.486 3236.6108 L 4100.856 3236.6108 L 4100.856 3236.2208 L 4101.486 3236.2208 L 4101.486 3234.8308 L 4101.826 3234.8308 L 4103.726 3236.0608 L 4103.726 3236.6108 L 4101.826 3236.6108 L 4101.826 3237.1008 Z M 4101.826 3236.2208 L 4103.356 3236.2208 L 4101.826 3235.2208 L 4101.826 3236.2208 Z","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4075.9059,3115.1697 4075.9059,3109.2642"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4090.0791,3115.1697 4090.0791,3109.2642"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4090.0791,3109.2642 4075.9059,3109.2642"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4090.0791,3115.9571 4090.0791,3115.1697"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4075.9059,3118.1225 4075.9059,3115.1697"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4075.9059,3115.9571 4075.9059,3118.1225"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4090.0791,3115.9571 4090.0791,3118.1225"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4097.1655,3144.107 4068.8195,3144.107 4068.8195,3118.516 4097.1655,3118.516 4097.1655,3144.107"},{"type":"circle","_svgpath":"M 4082.993, 3133.28 m -5.853, 0 a 5.853,5.853 0 1,0 11.706,0 a 5.853,5.853 0 1,0 -11.706,0","start":[4082.993,3133.28],"radius":5.853,"width":"1","net":""},{"type":"text","svgpath":"M 4051.8715 3158.39 L 4051.8715 3162.69 M 4050.4415 3158.39 L 4053.3015 3158.39 M 4057.5115 3159.01 L 4057.1015 3158.6 L 4056.4915 3158.39 L 4055.6715 3158.39 L 4055.0615 3158.6 L 4054.6515 3159.01 L 4054.6515 3159.41 L 4054.8515 3159.82 L 4055.0615 3160.03 L 4055.4715 3160.23 L 4056.6915 3160.64 L 4057.1015 3160.85 L 4057.3115 3161.05 L 4057.5115 3161.46 L 4057.5115 3162.07 L 4057.1015 3162.48 L 4056.4915 3162.69 L 4055.6715 3162.69 L 4055.0615 3162.48 L 4054.6515 3162.07 M 4058.8615 3160.85 L 4062.5415 3160.85 M 4063.8915 3159.21 L 4064.3015 3159.01 L 4064.9215 3158.39 L 4064.9215 3162.69 M 4067.4915 3158.39 L 4066.8815 3158.6 L 4066.4715 3159.21 L 4066.2715 3160.23 L 4066.2715 3160.85 L 4066.4715 3161.87 L 4066.8815 3162.48 L 4067.4915 3162.69 L 4067.9015 3162.69 L 4068.5215 3162.48 L 4068.9315 3161.87 L 4069.1315 3160.85 L 4069.1315 3160.23 L 4068.9315 3159.21 L 4068.5215 3158.6 L 4067.9015 3158.39 L 4067.4915 3158.39 M 4073.1415 3159.82 L 4072.9415 3160.44 L 4072.5315 3160.85 L 4071.9115 3161.05 L 4071.7115 3161.05 L 4071.0915 3160.85 L 4070.6915 3160.44 L 4070.4815 3159.82 L 4070.4815 3159.62 L 4070.6915 3159.01 L 4071.0915 3158.6 L 4071.7115 3158.39 L 4071.9115 3158.39 L 4072.5315 3158.6 L 4072.9415 3159.01 L 4073.1415 3159.82 L 4073.1415 3160.85 L 4072.9415 3161.87 L 4072.5315 3162.48 L 4071.9115 3162.69 L 4071.5015 3162.69 L 4070.8915 3162.48 L 4070.6915 3162.07 M 4074.9015 3158.39 L 4077.1515 3158.39 L 4075.9215 3160.03 L 4076.5415 3160.03 L 4076.9415 3160.23 L 4077.1515 3160.44 L 4077.3515 3161.05 L 4077.3515 3161.46 L 4077.1515 3162.07 L 4076.7415 3162.48 L 4076.1315 3162.69 L 4075.5115 3162.69 L 4074.9015 3162.48 L 4074.6915 3162.28 L 4074.4915 3161.87 M 4080.3415 3158.39 L 4078.7015 3162.69 M 4080.3415 3158.39 L 4081.9815 3162.69 M 4079.3215 3161.26 L 4081.3615 3161.26 M 4083.3315 3160.85 L 4087.0115 3160.85 M 4089.9915 3158.39 L 4088.3615 3162.69 M 4089.9915 3158.39 L 4091.6315 3162.69 M 4088.9715 3161.26 L 4091.0215 3161.26 M 4095.4415 3158.39 L 4093.3915 3158.39 L 4093.1915 3160.23 L 4093.3915 3160.03 L 4094.0015 3159.82 L 4094.6215 3159.82 L 4095.2315 3160.03 L 4095.6415 3160.44 L 4095.8415 3161.05 L 4095.8415 3161.46 L 4095.6415 3162.07 L 4095.2315 3162.48 L 4094.6215 3162.69 L 4094.0015 3162.69 L 4093.3915 3162.48 L 4093.1915 3162.28 L 4092.9815 3161.87 M 4097.1915 3158.39 L 4097.1915 3162.69 M 4097.1915 3158.39 L 4099.0415 3158.39 L 4099.6515 3158.6 L 4099.8515 3158.8 L 4100.0615 3159.21 L 4100.0615 3159.62 L 4099.8515 3160.03 L 4099.6515 3160.23 L 4099.0415 3160.44 M 4097.1915 3160.44 L 4099.0415 3160.44 L 4099.6515 3160.64 L 4099.8515 3160.85 L 4100.0615 3161.26 L 4100.0615 3161.87 L 4099.8515 3162.28 L 4099.6515 3162.48 L 4099.0415 3162.69 L 4097.1915 3162.69 M 4101.8215 3158.39 L 4104.0715 3158.39 L 4102.8415 3160.03 L 4103.4515 3160.03 L 4103.8615 3160.23 L 4104.0715 3160.44 L 4104.2715 3161.05 L 4104.2715 3161.46 L 4104.0715 3162.07 L 4103.6615 3162.48 L 4103.0415 3162.69 L 4102.4315 3162.69 L 4101.8215 3162.48 L 4101.6115 3162.28 L 4101.4115 3161.87 M 4105.6215 3160.85 L 4109.3015 3160.85 M 4110.6515 3158.39 L 4110.6515 3162.69 M 4110.6515 3158.39 L 4112.0915 3158.39 L 4112.7015 3158.6 L 4113.1115 3159.01 L 4113.3115 3159.41 L 4113.5215 3160.03 L 4113.5215 3161.05 L 4113.3115 3161.66 L 4113.1115 3162.07 L 4112.7015 3162.48 L 4112.0915 3162.69 L 4110.6515 3162.69 M 4115.0715 3159.41 L 4115.0715 3159.21 L 4115.2815 3158.8 L 4115.4815 3158.6 L 4115.8915 3158.39 L 4116.7115 3158.39 L 4117.1215 3158.6 L 4117.3215 3158.8 L 4117.5315 3159.21 L 4117.5315 3159.62 L 4117.3215 3160.03 L 4116.9115 3160.64 L 4114.8715 3162.69 L 4117.7315 3162.69","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M4099.52 3122.87L4099.52 3122.87Q4099.31 3122.87 4099.16 3122.79Q4099.01 3122.71 4098.90 3122.56Q4098.80 3122.41 4098.75 3122.20Q4098.70 3121.99 4098.70 3121.73L4098.70 3121.73Q4098.70 3121.62 4098.71 3121.51Q4098.72 3121.39 4098.73 3121.29Q4098.74 3121.18 4098.76 3121.09Q4098.78 3121.00 4098.80 3120.93L4098.80 3120.93L4099.18 3120.93Q4099.12 3121.09 4099.08 3121.30Q4099.05 3121.50 4099.05 3121.76L4099.05 3121.76Q4099.05 3121.95 4099.08 3122.08Q4099.10 3122.22 4099.16 3122.30Q4099.22 3122.39 4099.30 3122.43Q4099.39 3122.46 4099.50 3122.46L4099.50 3122.46Q4099.61 3122.46 4099.69 3122.40Q4099.78 3122.33 4099.84 3122.23Q4099.91 3122.12 4099.96 3121.99Q4100.01 3121.85 4100.07 3121.71Q4100.13 3121.57 4100.20 3121.44Q4100.26 3121.30 4100.35 3121.20Q4100.45 3121.09 4100.57 3121.03Q4100.69 3120.96 4100.86 3120.96L4100.86 3120.96Q4101.01 3120.96 4101.15 3121.02Q4101.29 3121.08 4101.40 3121.21Q4101.52 3121.34 4101.58 3121.55Q4101.65 3121.75 4101.65 3122.03L4101.65 3122.03Q4101.65 3122.10 4101.64 3122.19Q4101.64 3122.27 4101.63 3122.36Q4101.61 3122.45 4101.60 3122.53Q4101.58 3122.62 4101.57 3122.69L4101.57 3122.69L4101.21 3122.69Q4101.26 3122.52 4101.29 3122.35Q4101.31 3122.18 4101.31 3122.02L4101.31 3122.02Q4101.31 3121.69 4101.20 3121.53Q4101.09 3121.37 4100.90 3121.37L4100.90 3121.37Q4100.78 3121.37 4100.70 3121.43Q4100.62 3121.50 4100.55 3121.60Q4100.48 3121.71 4100.43 3121.85Q4100.38 3121.98 4100.32 3122.12Q4100.26 3122.26 4100.19 3122.40Q4100.13 3122.53 4100.03 3122.64Q4099.94 3122.74 4099.81 3122.81Q4099.69 3122.87 4099.52 3122.87ZM4101.61 3125.18L4101.61 3125.53L4098.74 3125.34L4098.74 3124.83L4099.76 3124.47L4100.09 3124.38L4099.74 3124.27L4098.74 3123.94L4098.74 3123.45L4101.61 3123.25L4101.61 3123.62L4099.66 3123.74L4099.12 3123.77L4099.58 3123.91L4100.64 3124.25L4100.64 3124.52L4099.50 3124.92L4099.12 3125.06L4099.52 3125.07L4101.61 3125.18ZM4101.61 3127.83L4101.26 3127.83L4098.74 3126.63L4098.74 3126.19L4101.26 3127.44L4101.26 3125.89L4101.61 3125.89L4101.61 3127.83Z","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4049.818,3326.3773 4049.818,3305.7363 4074.4338,3305.7363 4074.4338,3326.3773 4049.818,3326.3773"},{"type":"circle","_svgpath":"M 4062.126, 3315.957 m -6.519, 0 a 6.519,6.519 0 1,0 13.038,0 a 6.519,6.519 0 1,0 -13.038,0","start":[4062.126,3315.957],"radius":6.519,"width":"1","net":""},{"type":"text","svgpath":"M 4061.0959 3281.3868 L 4061.0959 3284.4568 L 4061.2959 3285.0668 L 4061.7059 3285.4768 L 4062.3259 3285.6768 L 4062.7359 3285.6768 L 4063.3459 3285.4768 L 4063.7559 3285.0668 L 4063.9559 3284.4568 L 4063.9559 3281.3868 M 4065.3059 3281.3868 L 4065.3059 3285.6768 M 4068.1759 3281.3868 L 4065.3059 3284.2468 M 4066.3359 3283.2268 L 4068.1759 3285.6768 M 4069.5259 3283.8368 L 4073.2059 3283.8368 M 4074.5559 3281.3868 L 4074.5559 3285.6768 M 4074.5559 3281.3868 L 4076.3959 3281.3868 L 4077.0059 3281.5868 L 4077.2159 3281.7968 L 4077.4159 3282.2068 L 4077.4159 3282.6168 L 4077.2159 3283.0268 L 4077.0059 3283.2268 L 4076.3959 3283.4268 M 4074.5559 3283.4268 L 4076.3959 3283.4268 L 4077.0059 3283.6368 L 4077.2159 3283.8368 L 4077.4159 3284.2468 L 4077.4159 3284.8668 L 4077.2159 3285.2768 L 4077.0059 3285.4768 L 4076.3959 3285.6768 L 4074.5559 3285.6768 M 4079.9959 3281.3868 L 4079.3859 3281.5868 L 4078.9759 3282.2068 L 4078.7659 3283.2268 L 4078.7659 3283.8368 L 4078.9759 3284.8668 L 4079.3859 3285.4768 L 4079.9959 3285.6768 L 4080.4059 3285.6768 L 4081.0159 3285.4768 L 4081.4259 3284.8668 L 4081.6359 3283.8368 L 4081.6359 3283.2268 L 4081.4259 3282.2068 L 4081.0159 3281.5868 L 4080.4059 3281.3868 L 4079.9959 3281.3868 M 4083.1859 3282.4068 L 4083.1859 3282.2068 L 4083.3859 3281.7968 L 4083.5959 3281.5868 L 4084.0059 3281.3868 L 4084.8259 3281.3868 L 4085.2359 3281.5868 L 4085.4359 3281.7968 L 4085.6359 3282.2068 L 4085.6359 3282.6168 L 4085.4359 3283.0268 L 4085.0259 3283.6368 L 4082.9859 3285.6768 L 4085.8459 3285.6768 M 4087.3959 3282.4068 L 4087.3959 3282.2068 L 4087.6059 3281.7968 L 4087.8059 3281.5868 L 4088.2159 3281.3868 L 4089.0359 3281.3868 L 4089.4459 3281.5868 L 4089.6459 3281.7968 L 4089.8559 3282.2068 L 4089.8559 3282.6168 L 4089.6459 3283.0268 L 4089.2359 3283.6368 L 4087.1959 3285.6768 L 4090.0559 3285.6768 M 4092.4359 3281.3868 L 4091.8159 3281.5868 L 4091.6159 3281.9968 L 4091.6159 3282.4068 L 4091.8159 3282.8168 L 4092.2259 3283.0268 L 4093.0459 3283.2268 L 4093.6559 3283.4268 L 4094.0659 3283.8368 L 4094.2759 3284.2468 L 4094.2759 3284.8668 L 4094.0659 3285.2768 L 4093.8659 3285.4768 L 4093.2459 3285.6768 L 4092.4359 3285.6768 L 4091.8159 3285.4768 L 4091.6159 3285.2768 L 4091.4059 3284.8668 L 4091.4059 3284.2468 L 4091.6159 3283.8368 L 4092.0259 3283.4268 L 4092.6359 3283.2268 L 4093.4559 3283.0268 L 4093.8659 3282.8168 L 4094.0659 3282.4068 L 4094.0659 3281.9968 L 4093.8659 3281.5868 L 4093.2459 3281.3868 L 4092.4359 3281.3868 M 4095.6259 3283.8368 L 4099.3059 3283.8368 M 4103.7259 3282.4068 L 4103.5159 3281.9968 L 4103.1059 3281.5868 L 4102.6959 3281.3868 L 4101.8859 3281.3868 L 4101.4759 3281.5868 L 4101.0659 3281.9968 L 4100.8559 3282.4068 L 4100.6559 3283.0268 L 4100.6559 3284.0468 L 4100.8559 3284.6568 L 4101.0659 3285.0668 L 4101.4759 3285.4768 L 4101.8859 3285.6768 L 4102.6959 3285.6768 L 4103.1059 3285.4768 L 4103.5159 3285.0668 L 4103.7259 3284.6568 L 4103.7259 3284.0468 M 4102.6959 3284.0468 L 4103.7259 3284.0468 M 4105.0759 3282.2068 L 4105.4859 3281.9968 L 4106.0959 3281.3868 L 4106.0959 3285.6768 M 4108.6759 3281.3868 L 4108.0559 3281.5868 L 4107.6459 3282.2068 L 4107.4459 3283.2268 L 4107.4459 3283.8368 L 4107.6459 3284.8668 L 4108.0559 3285.4768 L 4108.6759 3285.6768 L 4109.0859 3285.6768 L 4109.6959 3285.4768 L 4110.1059 3284.8668 L 4110.3059 3283.8368 L 4110.3059 3283.2268 L 4110.1059 3282.2068 L 4109.6959 3281.5868 L 4109.0859 3281.3868 L 4108.6759 3281.3868 M 4111.6559 3283.8368 L 4115.3359 3283.8368 M 4116.6859 3282.2068 L 4117.0959 3281.9968 L 4117.7159 3281.3868 L 4117.7159 3285.6768 M 4121.5159 3281.9968 L 4121.3159 3281.5868 L 4120.6959 3281.3868 L 4120.2859 3281.3868 L 4119.6759 3281.5868 L 4119.2659 3282.2068 L 4119.0659 3283.2268 L 4119.0659 3284.2468 L 4119.2659 3285.0668 L 4119.6759 3285.4768 L 4120.2859 3285.6768 L 4120.4959 3285.6768 L 4121.1059 3285.4768 L 4121.5159 3285.0668 L 4121.7259 3284.4568 L 4121.7259 3284.2468 L 4121.5159 3283.6368 L 4121.1059 3283.2268 L 4120.4959 3283.0268 L 4120.2859 3283.0268 L 4119.6759 3283.2268 L 4119.2659 3283.6368 L 4119.0659 3284.2468 M 4124.2959 3281.3868 L 4123.6859 3281.5868 L 4123.2759 3282.2068 L 4123.0759 3283.2268 L 4123.0759 3283.8368 L 4123.2759 3284.8668 L 4123.6859 3285.4768 L 4124.2959 3285.6768 L 4124.7059 3285.6768 L 4125.3259 3285.4768 L 4125.7359 3284.8668 L 4125.9359 3283.8368 L 4125.9359 3283.2268 L 4125.7359 3282.2068 L 4125.3259 3281.5868 L 4124.7059 3281.3868 L 4124.2959 3281.3868","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M4063.29 3292.15L4063.29 3292.15Q4063.29 3292.35 4063.20 3292.51Q4063.12 3292.66 4062.97 3292.76Q4062.82 3292.87 4062.61 3292.92Q4062.40 3292.97 4062.15 3292.97L4062.15 3292.97Q4062.03 3292.97 4061.92 3292.96Q4061.81 3292.95 4061.70 3292.94Q4061.60 3292.92 4061.51 3292.91Q4061.41 3292.89 4061.34 3292.87L4061.34 3292.87L4061.34 3292.49Q4061.50 3292.55 4061.71 3292.59Q4061.91 3292.62 4062.18 3292.62L4062.18 3292.62Q4062.37 3292.62 4062.50 3292.59Q4062.63 3292.56 4062.72 3292.50Q4062.80 3292.45 4062.84 3292.36Q4062.88 3292.28 4062.88 3292.17L4062.88 3292.17Q4062.88 3292.05 4062.81 3291.97Q4062.75 3291.89 4062.64 3291.83Q4062.54 3291.76 4062.40 3291.71Q4062.27 3291.65 4062.13 3291.60Q4061.98 3291.54 4061.85 3291.47Q4061.71 3291.40 4061.61 3291.31Q4061.50 3291.22 4061.44 3291.10Q4061.37 3290.98 4061.37 3290.81L4061.37 3290.81Q4061.37 3290.66 4061.44 3290.52Q4061.50 3290.37 4061.63 3290.26Q4061.76 3290.15 4061.96 3290.08Q4062.16 3290.02 4062.44 3290.02L4062.44 3290.02Q4062.52 3290.02 4062.60 3290.02Q4062.69 3290.03 4062.77 3290.04Q4062.86 3290.05 4062.94 3290.07Q4063.03 3290.08 4063.10 3290.10L4063.10 3290.10L4063.10 3290.45Q4062.93 3290.40 4062.76 3290.38Q4062.59 3290.35 4062.44 3290.35L4062.44 3290.35Q4062.10 3290.35 4061.94 3290.47Q4061.78 3290.58 4061.78 3290.77L4061.78 3290.77Q4061.78 3290.88 4061.85 3290.97Q4061.91 3291.05 4062.02 3291.12Q4062.12 3291.18 4062.26 3291.24Q4062.39 3291.29 4062.53 3291.35Q4062.67 3291.40 4062.81 3291.47Q4062.95 3291.54 4063.05 3291.63Q4063.16 3291.73 4063.22 3291.85Q4063.29 3291.98 4063.29 3292.15ZM4065.59 3290.06L4065.94 3290.06L4065.75 3292.93L4065.24 3292.93L4064.89 3291.91L4064.79 3291.58L4064.69 3291.93L4064.36 3292.93L4063.87 3292.93L4063.67 3290.06L4064.04 3290.06L4064.15 3292.01L4064.18 3292.54L4064.32 3292.09L4064.67 3291.02L4064.94 3291.02L4065.34 3292.17L4065.47 3292.54L4065.48 3292.15L4065.59 3290.06ZM4068.23 3292.57L4068.23 3292.93L4066.43 3292.93L4066.43 3292.57L4067.17 3292.57L4067.17 3290.47L4066.48 3290.85L4066.34 3290.52L4067.25 3290.04L4067.59 3290.04L4067.59 3292.57L4068.23 3292.57Z","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4091.5521,3326.3773 4091.5521,3305.7363 4116.1679,3305.7363 4116.1679,3326.3773 4091.5521,3326.3773"},{"type":"circle","_svgpath":"M 4103.86, 3315.957 m -6.519, 0 a 6.519,6.519 0 1,0 13.038,0 a 6.519,6.519 0 1,0 -13.038,0","start":[4103.86,3315.957],"radius":6.519,"width":"1","net":""},{"type":"text","svgpath":"M 4102.83 3281.3868 L 4102.83 3284.4568 L 4103.04 3285.0668 L 4103.45 3285.4768 L 4104.06 3285.6768 L 4104.47 3285.6768 L 4105.08 3285.4768 L 4105.49 3285.0668 L 4105.7 3284.4568 L 4105.7 3281.3868 M 4107.05 3281.3868 L 4107.05 3285.6768 M 4109.91 3281.3868 L 4107.05 3284.2468 M 4108.07 3283.2268 L 4109.91 3285.6768 M 4111.26 3283.8368 L 4114.94 3283.8368 M 4116.29 3281.3868 L 4116.29 3285.6768 M 4116.29 3281.3868 L 4118.13 3281.3868 L 4118.75 3281.5868 L 4118.95 3281.7968 L 4119.15 3282.2068 L 4119.15 3282.6168 L 4118.95 3283.0268 L 4118.75 3283.2268 L 4118.13 3283.4268 M 4116.29 3283.4268 L 4118.13 3283.4268 L 4118.75 3283.6368 L 4118.95 3283.8368 L 4119.15 3284.2468 L 4119.15 3284.8668 L 4118.95 3285.2768 L 4118.75 3285.4768 L 4118.13 3285.6768 L 4116.29 3285.6768 M 4121.73 3281.3868 L 4121.12 3281.5868 L 4120.71 3282.2068 L 4120.5 3283.2268 L 4120.5 3283.8368 L 4120.71 3284.8668 L 4121.12 3285.4768 L 4121.73 3285.6768 L 4122.14 3285.6768 L 4122.75 3285.4768 L 4123.16 3284.8668 L 4123.37 3283.8368 L 4123.37 3283.2268 L 4123.16 3282.2068 L 4122.75 3281.5868 L 4122.14 3281.3868 L 4121.73 3281.3868 M 4124.92 3282.4068 L 4124.92 3282.2068 L 4125.13 3281.7968 L 4125.33 3281.5868 L 4125.74 3281.3868 L 4126.56 3281.3868 L 4126.97 3281.5868 L 4127.17 3281.7968 L 4127.38 3282.2068 L 4127.38 3282.6168 L 4127.17 3283.0268 L 4126.76 3283.6368 L 4124.72 3285.6768 L 4127.58 3285.6768 M 4129.14 3282.4068 L 4129.14 3282.2068 L 4129.34 3281.7968 L 4129.55 3281.5868 L 4129.95 3281.3868 L 4130.77 3281.3868 L 4131.18 3281.5868 L 4131.39 3281.7968 L 4131.59 3282.2068 L 4131.59 3282.6168 L 4131.39 3283.0268 L 4130.98 3283.6368 L 4128.93 3285.6768 L 4131.8 3285.6768 M 4134.17 3281.3868 L 4133.55 3281.5868 L 4133.35 3281.9968 L 4133.35 3282.4068 L 4133.55 3282.8168 L 4133.96 3283.0268 L 4134.78 3283.2268 L 4135.4 3283.4268 L 4135.8 3283.8368 L 4136.01 3284.2468 L 4136.01 3284.8668 L 4135.8 3285.2768 L 4135.6 3285.4768 L 4134.99 3285.6768 L 4134.17 3285.6768 L 4133.55 3285.4768 L 4133.35 3285.2768 L 4133.15 3284.8668 L 4133.15 3284.2468 L 4133.35 3283.8368 L 4133.76 3283.4268 L 4134.37 3283.2268 L 4135.19 3283.0268 L 4135.6 3282.8168 L 4135.8 3282.4068 L 4135.8 3281.9968 L 4135.6 3281.5868 L 4134.99 3281.3868 L 4134.17 3281.3868 M 4137.36 3283.8368 L 4141.04 3283.8368 M 4145.46 3282.4068 L 4145.25 3281.9968 L 4144.85 3281.5868 L 4144.44 3281.3868 L 4143.62 3281.3868 L 4143.21 3281.5868 L 4142.8 3281.9968 L 4142.6 3282.4068 L 4142.39 3283.0268 L 4142.39 3284.0468 L 4142.6 3284.6568 L 4142.8 3285.0668 L 4143.21 3285.4768 L 4143.62 3285.6768 L 4144.44 3285.6768 L 4144.85 3285.4768 L 4145.25 3285.0668 L 4145.46 3284.6568 L 4145.46 3284.0468 M 4144.44 3284.0468 L 4145.46 3284.0468 M 4146.81 3282.2068 L 4147.22 3281.9968 L 4147.83 3281.3868 L 4147.83 3285.6768 M 4150.41 3281.3868 L 4149.8 3281.5868 L 4149.39 3282.2068 L 4149.18 3283.2268 L 4149.18 3283.8368 L 4149.39 3284.8668 L 4149.8 3285.4768 L 4150.41 3285.6768 L 4150.82 3285.6768 L 4151.43 3285.4768 L 4151.84 3284.8668 L 4152.05 3283.8368 L 4152.05 3283.2268 L 4151.84 3282.2068 L 4151.43 3281.5868 L 4150.82 3281.3868 L 4150.41 3281.3868 M 4153.4 3283.8368 L 4157.08 3283.8368 M 4158.43 3282.2068 L 4158.84 3281.9968 L 4159.45 3281.3868 L 4159.45 3285.6768 M 4163.25 3281.9968 L 4163.05 3281.5868 L 4162.44 3281.3868 L 4162.03 3281.3868 L 4161.41 3281.5868 L 4161 3282.2068 L 4160.8 3283.2268 L 4160.8 3284.2468 L 4161 3285.0668 L 4161.41 3285.4768 L 4162.03 3285.6768 L 4162.23 3285.6768 L 4162.85 3285.4768 L 4163.25 3285.0668 L 4163.46 3284.4568 L 4163.46 3284.2468 L 4163.25 3283.6368 L 4162.85 3283.2268 L 4162.23 3283.0268 L 4162.03 3283.0268 L 4161.41 3283.2268 L 4161 3283.6368 L 4160.8 3284.2468 M 4166.04 3281.3868 L 4165.42 3281.5868 L 4165.01 3282.2068 L 4164.81 3283.2268 L 4164.81 3283.8368 L 4165.01 3284.8668 L 4165.42 3285.4768 L 4166.04 3285.6768 L 4166.45 3285.6768 L 4167.06 3285.4768 L 4167.47 3284.8668 L 4167.67 3283.8368 L 4167.67 3283.2268 L 4167.47 3282.2068 L 4167.06 3281.5868 L 4166.45 3281.3868 L 4166.04 3281.3868","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M4105.02 3292.15L4105.02 3292.15Q4105.02 3292.35 4104.94 3292.51Q4104.86 3292.66 4104.71 3292.76Q4104.56 3292.87 4104.35 3292.92Q4104.14 3292.97 4103.88 3292.97L4103.88 3292.97Q4103.77 3292.97 4103.66 3292.96Q4103.54 3292.95 4103.44 3292.94Q4103.34 3292.92 4103.24 3292.91Q4103.15 3292.89 4103.08 3292.87L4103.08 3292.87L4103.08 3292.49Q4103.24 3292.55 4103.45 3292.59Q4103.65 3292.62 4103.91 3292.62L4103.91 3292.62Q4104.10 3292.62 4104.23 3292.59Q4104.37 3292.56 4104.45 3292.50Q4104.54 3292.45 4104.58 3292.36Q4104.61 3292.28 4104.61 3292.17L4104.61 3292.17Q4104.61 3292.05 4104.55 3291.97Q4104.48 3291.89 4104.38 3291.83Q4104.27 3291.76 4104.14 3291.71Q4104.00 3291.65 4103.86 3291.60Q4103.72 3291.54 4103.59 3291.47Q4103.45 3291.40 4103.35 3291.31Q4103.24 3291.22 4103.18 3291.10Q4103.11 3290.98 4103.11 3290.81L4103.11 3290.81Q4103.11 3290.66 4103.17 3290.52Q4103.23 3290.37 4103.36 3290.26Q4103.49 3290.15 4103.70 3290.08Q4103.90 3290.02 4104.18 3290.02L4104.18 3290.02Q4104.25 3290.02 4104.34 3290.02Q4104.42 3290.03 4104.51 3290.04Q4104.60 3290.05 4104.68 3290.07Q4104.77 3290.08 4104.84 3290.10L4104.84 3290.10L4104.84 3290.45Q4104.67 3290.40 4104.50 3290.38Q4104.33 3290.35 4104.17 3290.35L4104.17 3290.35Q4103.84 3290.35 4103.68 3290.47Q4103.52 3290.58 4103.52 3290.77L4103.52 3290.77Q4103.52 3290.88 4103.58 3290.97Q4103.65 3291.05 4103.75 3291.12Q4103.86 3291.18 4104.00 3291.24Q4104.13 3291.29 4104.27 3291.35Q4104.41 3291.40 4104.55 3291.47Q4104.68 3291.54 4104.79 3291.63Q4104.89 3291.73 4104.96 3291.85Q4105.02 3291.98 4105.02 3292.15ZM4107.33 3290.06L4107.68 3290.06L4107.49 3292.93L4106.98 3292.93L4106.62 3291.91L4106.53 3291.58L4106.42 3291.93L4106.09 3292.93L4105.60 3292.93L4105.40 3290.06L4105.77 3290.06L4105.89 3292.01L4105.92 3292.54L4106.06 3292.09L4106.40 3291.02L4106.68 3291.02L4107.07 3292.17L4107.21 3292.54L4107.22 3292.15L4107.33 3290.06ZM4110.00 3292.56L4110.00 3292.93L4108.10 3292.93L4108.10 3292.58L4108.85 3291.85Q4109.03 3291.67 4109.14 3291.53Q4109.26 3291.40 4109.32 3291.29Q4109.38 3291.18 4109.41 3291.09Q4109.43 3290.99 4109.43 3290.88L4109.43 3290.88Q4109.43 3290.77 4109.40 3290.68Q4109.37 3290.58 4109.31 3290.51Q4109.25 3290.44 4109.16 3290.40Q4109.06 3290.35 4108.93 3290.35L4108.93 3290.35Q4108.75 3290.35 4108.60 3290.44Q4108.45 3290.52 4108.33 3290.65L4108.33 3290.65L4108.11 3290.39Q4108.28 3290.22 4108.49 3290.12Q4108.70 3290.02 4108.98 3290.02L4108.98 3290.02Q4109.17 3290.02 4109.33 3290.07Q4109.49 3290.13 4109.60 3290.24Q4109.72 3290.35 4109.78 3290.50Q4109.84 3290.66 4109.84 3290.85L4109.84 3290.85Q4109.84 3291.02 4109.80 3291.16Q4109.75 3291.30 4109.66 3291.44Q4109.58 3291.58 4109.44 3291.73Q4109.31 3291.88 4109.12 3292.05L4109.12 3292.05L4108.60 3292.56L4110.00 3292.56Z","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1}],"B":[{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4101.1031,3130.8785 4104.2528,3130.8785"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4099.8832,3126.5094 4099.8832,3129.6589"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4105.4724,3126.5094 4105.4724,3129.6589"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4099.8603,3124.2421 4099.8603,3121.0925"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4101.0801,3119.8727 4104.2296,3119.8727"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4105.4493,3124.2421 4105.4493,3121.0925"},{"type":"arc","width":1,"svgpath":"M 4101.0801 3119.8725 A 1.2198 1.2198 0 0 0 4099.8603 3121.0923","net":""},{"type":"arc","width":1,"svgpath":"M 4105.4495 3121.0923 A 1.2198 1.2198 0 0 0 4104.2296 3119.8725","net":""},{"type":"arc","width":1,"svgpath":"M 4099.8832 3129.6587 A 1.2198 1.2198 0 0 0 4101.1031 3130.8785","net":""},{"type":"arc","width":1,"svgpath":"M 4104.2526 3130.8785 A 1.2198 1.2198 0 0 0 4105.4724 3129.6587","net":""},{"type":"text","svgpath":"M 4087.957 3124.406 L 4087.747 3124.816 L 4087.137 3125.426 L 4091.427 3125.426 M 4087.137 3128.006 L 4087.337 3127.396 L 4087.957 3126.986 L 4088.977 3126.776 L 4089.587 3126.776 L 4090.617 3126.986 L 4091.227 3127.396 L 4091.427 3128.006 L 4091.427 3128.416 L 4091.227 3129.026 L 4090.617 3129.436 L 4089.587 3129.646 L 4088.977 3129.646 L 4087.957 3129.436 L 4087.337 3129.026 L 4087.137 3128.416 L 4087.137 3128.006 M 4088.567 3130.996 L 4091.427 3130.996 M 4089.387 3130.996 L 4088.777 3131.606 L 4088.567 3132.016 L 4088.567 3132.626 L 4088.777 3133.036 L 4089.387 3133.246 L 4091.427 3133.246 M 4087.137 3134.596 L 4091.427 3134.596 M 4087.137 3134.596 L 4087.137 3137.256 M 4089.177 3134.596 L 4089.177 3136.226","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4102.8522 3134.7728 L 4102.8522 3135.1428 Q 4103.2022 3135.2828 4103.5722 3135.2828 L 4103.5722 3135.2828 Q 4104.1822 3135.2828 4104.5122 3134.9228 Q 4104.8322 3134.5528 4104.8322 3133.8428 L 4104.8322 3133.8428 Q 4104.8322 3133.5028 4104.7422 3133.2228 Q 4104.6522 3132.9428 4104.4922 3132.7428 Q 4104.3222 3132.5528 4104.0822 3132.4428 Q 4103.8522 3132.3428 4103.5522 3132.3428 L 4103.5522 3132.3428 Q 4103.3522 3132.3428 4103.1822 3132.3728 Q 4103.0122 3132.4128 4102.8522 3132.4828 L 4102.8522 3132.4828 L 4102.8522 3132.8628 Q 4103.0122 3132.7828 4103.1722 3132.7328 Q 4103.3422 3132.6928 4103.5422 3132.6928 L 4103.5422 3132.6928 Q 4103.7422 3132.6928 4103.9022 3132.7628 Q 4104.0722 3132.8428 4104.1822 3132.9828 Q 4104.3022 3133.1328 4104.3622 3133.3328 Q 4104.4222 3133.5428 4104.4222 3133.8128 L 4104.4222 3133.8128 Q 4104.4222 3134.3628 4104.1922 3134.6528 Q 4103.9722 3134.9328 4103.5322 3134.9328 L 4103.5322 3134.9328 Q 4103.3522 3134.9328 4103.1822 3134.8928 Q 4103.0122 3134.8528 4102.8522 3134.7728 L 4102.8522 3134.7728 Z  M 4100.3722 3134.8928 L 4100.3722 3135.2528 L 4102.1822 3135.2528 L 4102.1822 3134.8928 L 4101.4422 3134.8928 L 4101.4422 3132.7928 L 4102.1322 3133.1728 L 4102.2722 3132.8428 L 4101.3522 3132.3628 L 4101.0122 3132.3628 L 4101.0122 3134.8928 L 4100.3722 3134.8928 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4060.1583,3153.7131 4063.308,3153.7131"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4058.9384,3149.344 4058.9384,3152.4935"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4064.5276,3149.344 4064.5276,3152.4935"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4058.9155,3147.0767 4058.9155,3143.9271"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4060.1353,3142.7073 4063.2848,3142.7073"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4064.5045,3147.0767 4064.5045,3143.9271"},{"type":"arc","width":1,"svgpath":"M 4060.1353 3142.7071 A 1.2198 1.2198 0 0 0 4058.9155 3143.9269","net":""},{"type":"arc","width":1,"svgpath":"M 4064.5047 3143.9269 A 1.2198 1.2198 0 0 0 4063.2848 3142.7071","net":""},{"type":"arc","width":1,"svgpath":"M 4058.9384 3152.4933 A 1.2198 1.2198 0 0 0 4060.1583 3153.7131","net":""},{"type":"arc","width":1,"svgpath":"M 4063.3078 3153.7131 A 1.2198 1.2198 0 0 0 4064.5276 3152.4933","net":""},{"type":"text","svgpath":"M 4047.0122 3147.2406 L 4046.8022 3147.6506 L 4046.1922 3148.2606 L 4050.4822 3148.2606 M 4046.1922 3150.8406 L 4046.3922 3150.2306 L 4047.0122 3149.8206 L 4048.0322 3149.6106 L 4048.6422 3149.6106 L 4049.6722 3149.8206 L 4050.2822 3150.2306 L 4050.4822 3150.8406 L 4050.4822 3151.2506 L 4050.2822 3151.8606 L 4049.6722 3152.2706 L 4048.6422 3152.4806 L 4048.0322 3152.4806 L 4047.0122 3152.2706 L 4046.3922 3151.8606 L 4046.1922 3151.2506 L 4046.1922 3150.8406 M 4047.6222 3153.8306 L 4050.4822 3153.8306 M 4048.4422 3153.8306 L 4047.8322 3154.4406 L 4047.6222 3154.8506 L 4047.6222 3155.4606 L 4047.8322 3155.8706 L 4048.4422 3156.0806 L 4050.4822 3156.0806 M 4046.1922 3157.4306 L 4050.4822 3157.4306 M 4046.1922 3157.4306 L 4046.1922 3160.0906 M 4048.2322 3157.4306 L 4048.2322 3159.0606","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4061.9066 3157.6015 L 4061.9066 3157.9715 Q 4062.2566 3158.1215 4062.6266 3158.1215 L 4062.6266 3158.1215 Q 4063.2366 3158.1215 4063.5666 3157.7515 Q 4063.8966 3157.3915 4063.8966 3156.6815 L 4063.8966 3156.6815 Q 4063.8966 3156.3315 4063.8066 3156.0515 Q 4063.7166 3155.7715 4063.5466 3155.5815 Q 4063.3766 3155.3915 4063.1366 3155.2815 Q 4062.9066 3155.1715 4062.6066 3155.1715 L 4062.6066 3155.1715 Q 4062.4066 3155.1715 4062.2366 3155.2115 Q 4062.0666 3155.2415 4061.9066 3155.3115 L 4061.9066 3155.3115 L 4061.9066 3155.7015 Q 4062.0666 3155.6115 4062.2266 3155.5715 Q 4062.3966 3155.5215 4062.5966 3155.5215 L 4062.5966 3155.5215 Q 4062.7966 3155.5215 4062.9666 3155.6015 Q 4063.1266 3155.6715 4063.2366 3155.8215 Q 4063.3566 3155.9615 4063.4166 3156.1715 Q 4063.4766 3156.3815 4063.4766 3156.6415 L 4063.4766 3156.6415 Q 4063.4766 3157.2015 4063.2466 3157.4815 Q 4063.0266 3157.7715 4062.5866 3157.7715 L 4062.5866 3157.7715 Q 4062.4066 3157.7715 4062.2366 3157.7215 Q 4062.0666 3157.6815 4061.9066 3157.6015 L 4061.9066 3157.6015 Z  M 4059.4066 3157.7215 L 4059.4066 3158.0815 L 4061.2966 3158.0815 L 4061.2966 3157.7415 L 4060.5566 3157.0015 Q 4060.3766 3156.8215 4060.2566 3156.6915 Q 4060.1466 3156.5615 4060.0766 3156.4515 Q 4060.0166 3156.3415 4059.9966 3156.2415 Q 4059.9766 3156.1515 4059.9766 3156.0315 L 4059.9766 3156.0315 Q 4059.9766 3155.9315 4059.9966 3155.8315 Q 4060.0266 3155.7415 4060.0866 3155.6615 Q 4060.1466 3155.5915 4060.2466 3155.5515 Q 4060.3366 3155.5115 4060.4666 3155.5115 L 4060.4666 3155.5115 Q 4060.6466 3155.5115 4060.7966 3155.5915 Q 4060.9466 3155.6715 4061.0766 3155.8015 L 4061.0766 3155.8015 L 4061.2866 3155.5515 Q 4061.1266 3155.3815 4060.9166 3155.2715 Q 4060.6966 3155.1715 4060.4166 3155.1715 L 4060.4166 3155.1715 Q 4060.2266 3155.1715 4060.0666 3155.2315 Q 4059.9166 3155.2815 4059.7966 3155.3915 Q 4059.6866 3155.5015 4059.6266 3155.6615 Q 4059.5566 3155.8115 4059.5566 3156.0115 L 4059.5566 3156.0115 Q 4059.5566 3156.1715 4059.6066 3156.3115 Q 4059.6466 3156.4515 4059.7366 3156.5915 Q 4059.8266 3156.7315 4059.9566 3156.8815 Q 4060.0966 3157.0315 4060.2766 3157.2115 L 4060.2766 3157.2115 L 4060.7966 3157.7215 L 4059.4066 3157.7215 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4100.3541,3245.0917 4100.3541,3248.2414"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4104.7232,3243.8718 4101.5737,3243.8718"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4104.7232,3249.461 4101.5737,3249.461"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4106.9905,3243.8489 4110.1401,3243.8489"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4111.3599,3245.0687 4111.3599,3248.2182"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4106.9905,3249.4379 4110.1401,3249.4379"},{"type":"arc","width":1,"svgpath":"M 4111.3601 3245.0687 A 1.2198 1.2198 0 0 0 4110.1403 3243.8489","net":""},{"type":"arc","width":1,"svgpath":"M 4110.1403 3249.4381 A 1.2198 1.2198 0 0 0 4111.3601 3248.2182","net":""},{"type":"arc","width":1,"svgpath":"M 4101.5739 3243.8718 A 1.2198 1.2198 0 0 0 4100.3541 3245.0917","net":""},{"type":"arc","width":1,"svgpath":"M 4100.3541 3248.2412 A 1.2198 1.2198 0 0 0 4101.5739 3249.461","net":""},{"type":"text","svgpath":"M 4106.8266 3231.9456 L 4106.4166 3231.7356 L 4105.8066 3231.1256 L 4105.8066 3235.4156 M 4103.2266 3231.1256 L 4103.8366 3231.3256 L 4104.2466 3231.9456 L 4104.4566 3232.9656 L 4104.4566 3233.5756 L 4104.2466 3234.6056 L 4103.8366 3235.2156 L 4103.2266 3235.4156 L 4102.8166 3235.4156 L 4102.2066 3235.2156 L 4101.7966 3234.6056 L 4101.5866 3233.5756 L 4101.5866 3232.9656 L 4101.7966 3231.9456 L 4102.2066 3231.3256 L 4102.8166 3231.1256 L 4103.2266 3231.1256 M 4100.2366 3232.5556 L 4100.2366 3235.4156 M 4100.2366 3233.3756 L 4099.6266 3232.7656 L 4099.2166 3232.5556 L 4098.6066 3232.5556 L 4098.1966 3232.7656 L 4097.9866 3233.3756 L 4097.9866 3235.4156 M 4096.6366 3231.1256 L 4096.6366 3235.4156 M 4096.6366 3231.1256 L 4093.9766 3231.1256 M 4096.6366 3233.1656 L 4095.0066 3233.1656","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4115.0581 3247.7668 L 4115.0581 3248.1368 Q 4115.3981 3248.2768 4115.7781 3248.2768 L 4115.7781 3248.2768 Q 4116.3881 3248.2768 4116.7181 3247.9168 Q 4117.0381 3247.5468 4117.0381 3246.8368 L 4117.0381 3246.8368 Q 4117.0381 3246.4868 4116.9481 3246.2168 Q 4116.8581 3245.9368 4116.6981 3245.7368 Q 4116.5281 3245.5468 4116.2881 3245.4368 Q 4116.0481 3245.3368 4115.7581 3245.3368 L 4115.7581 3245.3368 Q 4115.5581 3245.3368 4115.3881 3245.3668 Q 4115.2181 3245.3968 4115.0581 3245.4768 L 4115.0581 3245.4768 L 4115.0581 3245.8568 Q 4115.2181 3245.7668 4115.3781 3245.7268 Q 4115.5481 3245.6768 4115.7481 3245.6768 L 4115.7481 3245.6768 Q 4115.9481 3245.6768 4116.1081 3245.7568 Q 4116.2781 3245.8368 4116.3881 3245.9768 Q 4116.5081 3246.1168 4116.5681 3246.3268 Q 4116.6281 3246.5368 4116.6281 3246.7968 L 4116.6281 3246.7968 Q 4116.6281 3247.3568 4116.3981 3247.6468 Q 4116.1781 3247.9268 4115.7381 3247.9268 L 4115.7381 3247.9268 Q 4115.5481 3247.9268 4115.3781 3247.8868 Q 4115.2181 3247.8368 4115.0581 3247.7668 L 4115.0581 3247.7668 Z  M 4112.6081 3247.3668 L 4112.6081 3247.3668 Q 4112.6081 3247.5568 4112.6881 3247.7268 Q 4112.7681 3247.8868 4112.9181 3248.0168 Q 4113.0681 3248.1368 4113.3081 3248.2068 Q 4113.5381 3248.2768 4113.8481 3248.2768 L 4113.8481 3248.2768 Q 4114.0181 3248.2768 4114.1581 3248.2668 Q 4114.2881 3248.2568 4114.4081 3248.2368 L 4114.4081 3248.2368 L 4114.4081 3247.8968 Q 4114.2781 3247.9168 4114.1181 3247.9368 Q 4113.9681 3247.9468 4113.8081 3247.9468 L 4113.8081 3247.9468 Q 4113.5981 3247.9468 4113.4481 3247.9068 Q 4113.2881 3247.8668 4113.1981 3247.7968 Q 4113.0981 3247.7268 4113.0581 3247.6268 Q 4113.0081 3247.5168 4113.0081 3247.3868 L 4113.0081 3247.3868 Q 4113.0081 3247.2668 4113.0581 3247.1868 Q 4113.1181 3247.0968 4113.2081 3247.0368 Q 4113.3081 3246.9768 4113.4381 3246.9468 Q 4113.5681 3246.9168 4113.7281 3246.9168 L 4113.7281 3246.9168 L 4114.0581 3246.9168 L 4114.0581 3246.6068 L 4113.7281 3246.6068 Q 4113.5981 3246.6068 4113.4881 3246.5668 Q 4113.3881 3246.5368 4113.3081 3246.4668 Q 4113.2281 3246.4068 4113.1881 3246.3168 Q 4113.1481 3246.2168 4113.1481 3246.1068 L 4113.1481 3246.1068 Q 4113.1481 3245.8668 4113.2881 3245.7668 Q 4113.4281 3245.6568 4113.7081 3245.6568 L 4113.7081 3245.6568 Q 4113.8481 3245.6568 4113.9981 3245.6868 Q 4114.1581 3245.7168 4114.3281 3245.7768 L 4114.3281 3245.7768 L 4114.3281 3245.4368 Q 4114.2581 3245.4168 4114.1781 3245.3968 Q 4114.0881 3245.3768 4114.0081 3245.3568 Q 4113.9181 3245.3468 4113.8381 3245.3368 Q 4113.7481 3245.3268 4113.6781 3245.3268 L 4113.6781 3245.3268 Q 4113.4481 3245.3268 4113.2781 3245.3768 Q 4113.0981 3245.4268 4112.9881 3245.5168 Q 4112.8681 3245.6168 4112.8081 3245.7468 Q 4112.7481 3245.8768 4112.7481 3246.0368 L 4112.7481 3246.0368 Q 4112.7481 3246.2868 4112.8781 3246.4568 Q 4112.9981 3246.6168 4113.2181 3246.7168 L 4113.2181 3246.7168 Q 4113.1081 3246.7368 4112.9981 3246.7868 Q 4112.8881 3246.8468 4112.8081 3246.9268 Q 4112.7181 3247.0068 4112.6681 3247.1168 Q 4112.6081 3247.2368 4112.6081 3247.3668 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4032.244,3217.139 4032.244,3220.2887"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4036.6131,3215.9191 4033.4636,3215.9191"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4036.6131,3221.5083 4033.4636,3221.5083"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4038.8804,3215.8962 4042.03,3215.8962"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4043.2498,3217.116 4043.2498,3220.2655"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4038.8804,3221.4852 4042.03,3221.4852"},{"type":"arc","width":1,"svgpath":"M 4043.25 3217.116 A 1.2198 1.2198 0 0 0 4042.0302 3215.8962","net":""},{"type":"arc","width":1,"svgpath":"M 4042.0302 3221.4854 A 1.2198 1.2198 0 0 0 4043.25 3220.2655","net":""},{"type":"arc","width":1,"svgpath":"M 4033.4638 3215.9191 A 1.2198 1.2198 0 0 0 4032.244 3217.139","net":""},{"type":"arc","width":1,"svgpath":"M 4032.244 3220.2885 A 1.2198 1.2198 0 0 0 4033.4638 3221.5083","net":""},{"type":"text","svgpath":"M 4038.7164 3203.9929 L 4038.3064 3203.7829 L 4037.6964 3203.1729 L 4037.6964 3207.4629 M 4035.1164 3203.1729 L 4035.7264 3203.3729 L 4036.1364 3203.9929 L 4036.3464 3205.0129 L 4036.3464 3205.6229 L 4036.1364 3206.6529 L 4035.7264 3207.2629 L 4035.1164 3207.4629 L 4034.7064 3207.4629 L 4034.0964 3207.2629 L 4033.6864 3206.6529 L 4033.4764 3205.6229 L 4033.4764 3205.0129 L 4033.6864 3203.9929 L 4034.0964 3203.3729 L 4034.7064 3203.1729 L 4035.1164 3203.1729 M 4032.1264 3204.6029 L 4032.1264 3207.4629 M 4032.1264 3205.4229 L 4031.5164 3204.8129 L 4031.1064 3204.6029 L 4030.4964 3204.6029 L 4030.0864 3204.8129 L 4029.8764 3205.4229 L 4029.8764 3207.4629 M 4028.5264 3203.1729 L 4028.5264 3207.4629 M 4028.5264 3203.1729 L 4025.8664 3203.1729 M 4028.5264 3205.2129 L 4026.8964 3205.2129","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4028.4421 3219.8141 L 4028.4421 3220.1841 Q 4028.7921 3220.3241 4029.1621 3220.3241 L 4029.1621 3220.3241 Q 4029.7721 3220.3241 4030.1021 3219.9641 Q 4030.4321 3219.5941 4030.4321 3218.8841 L 4030.4321 3218.8841 Q 4030.4321 3218.5341 4030.3421 3218.2641 Q 4030.2521 3217.9841 4030.0821 3217.7841 Q 4029.9121 3217.5941 4029.6721 3217.4841 Q 4029.4421 3217.3841 4029.1421 3217.3841 L 4029.1421 3217.3841 Q 4028.9421 3217.3841 4028.7721 3217.4141 Q 4028.6021 3217.4441 4028.4421 3217.5241 L 4028.4421 3217.5241 L 4028.4421 3217.9041 Q 4028.6021 3217.8141 4028.7621 3217.7741 Q 4028.9321 3217.7241 4029.1321 3217.7241 L 4029.1321 3217.7241 Q 4029.3321 3217.7241 4029.5021 3217.8041 Q 4029.6621 3217.8841 4029.7721 3218.0241 Q 4029.8921 3218.1641 4029.9521 3218.3741 Q 4030.0121 3218.5841 4030.0121 3218.8441 L 4030.0121 3218.8441 Q 4030.0121 3219.4041 4029.7821 3219.6941 Q 4029.5621 3219.9741 4029.1221 3219.9741 L 4029.1221 3219.9741 Q 4028.9421 3219.9741 4028.7721 3219.9341 Q 4028.6021 3219.8841 4028.4421 3219.8141 L 4028.4421 3219.8141 Z  M 4025.8021 3219.3141 L 4025.8021 3219.6541 L 4026.2921 3219.6541 L 4026.2921 3220.2841 L 4026.6821 3220.2841 L 4026.6821 3219.6541 L 4028.0621 3219.6541 L 4028.0621 3219.3141 L 4026.8421 3217.4141 L 4026.2921 3217.4141 L 4026.2921 3219.3141 L 4025.8021 3219.3141 Z  M 4026.6821 3219.3141 L 4026.6821 3217.7841 L 4027.6821 3219.3141 L 4026.6821 3219.3141 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4133.3463,3179.342 4133.3463,3176.1923"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4128.9772,3180.5619 4132.1267,3180.5619"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4128.9772,3174.9727 4132.1267,3174.9727"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4126.7099,3180.5848 4123.5603,3180.5848"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4122.3405,3179.365 4122.3405,3176.2155"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4126.7099,3174.9958 4123.5603,3174.9958"},{"type":"arc","width":1,"svgpath":"M 4122.3403 3179.365 A 1.2198 1.2198 0 0 0 4123.5601 3180.5848","net":""},{"type":"arc","width":1,"svgpath":"M 4123.5601 3174.9956 A 1.2198 1.2198 0 0 0 4122.3403 3176.2155","net":""},{"type":"arc","width":1,"svgpath":"M 4132.1265 3180.5619 A 1.2198 1.2198 0 0 0 4133.3463 3179.342","net":""},{"type":"arc","width":1,"svgpath":"M 4133.3463 3176.1925 A 1.2198 1.2198 0 0 0 4132.1265 3174.9727","net":""},{"type":"text","svgpath":"M 4139.7239 3189.8381 L 4139.3139 3189.6281 L 4138.7039 3189.0181 L 4138.7039 3193.3081 M 4136.1239 3189.0181 L 4136.7339 3189.2181 L 4137.1439 3189.8381 L 4137.3539 3190.8581 L 4137.3539 3191.4681 L 4137.1439 3192.4981 L 4136.7339 3193.1081 L 4136.1239 3193.3081 L 4135.7139 3193.3081 L 4135.1039 3193.1081 L 4134.6939 3192.4981 L 4134.4839 3191.4681 L 4134.4839 3190.8581 L 4134.6939 3189.8381 L 4135.1039 3189.2181 L 4135.7139 3189.0181 L 4136.1239 3189.0181 M 4133.1339 3190.4481 L 4133.1339 3193.3081 M 4133.1339 3191.2681 L 4132.5239 3190.6581 L 4132.1139 3190.4481 L 4131.5039 3190.4481 L 4131.0939 3190.6581 L 4130.8839 3191.2681 L 4130.8839 3193.3081 M 4129.5339 3189.0181 L 4129.5339 3193.3081 M 4129.5339 3189.0181 L 4126.8739 3189.0181 M 4129.5339 3191.0581 L 4127.9039 3191.0581","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4118.9911 3178.8613 L 4118.9911 3179.2313 Q 4119.3411 3179.3813 4119.7211 3179.3813 L 4119.7211 3179.3813 Q 4120.3311 3179.3813 4120.6511 3179.0113 Q 4120.9811 3178.6513 4120.9811 3177.9413 L 4120.9811 3177.9413 Q 4120.9811 3177.5913 4120.8911 3177.3113 Q 4120.8011 3177.0313 4120.6311 3176.8413 Q 4120.4611 3176.6513 4120.2311 3176.5413 Q 4119.9911 3176.4313 4119.6911 3176.4313 L 4119.6911 3176.4313 Q 4119.4911 3176.4313 4119.3211 3176.4713 Q 4119.1511 3176.5013 4118.9911 3176.5713 L 4118.9911 3176.5713 L 4118.9911 3176.9613 Q 4119.1511 3176.8713 4119.3211 3176.8313 Q 4119.4811 3176.7813 4119.6811 3176.7813 L 4119.6811 3176.7813 Q 4119.8811 3176.7813 4120.0511 3176.8613 Q 4120.2111 3176.9313 4120.3311 3177.0813 Q 4120.4411 3177.2213 4120.5011 3177.4313 Q 4120.5611 3177.6413 4120.5611 3177.9013 L 4120.5611 3177.9013 Q 4120.5611 3178.4613 4120.3411 3178.7413 Q 4120.1111 3179.0313 4119.6711 3179.0313 L 4119.6711 3179.0313 Q 4119.4911 3179.0313 4119.3211 3178.9813 Q 4119.1511 3178.9413 4118.9911 3178.8613 L 4118.9911 3178.8613 Z  M 4116.5611 3178.4213 L 4116.5611 3178.4213 Q 4116.5611 3178.6413 4116.6611 3178.8113 Q 4116.7511 3178.9913 4116.9111 3179.1113 Q 4117.0711 3179.2413 4117.2911 3179.3113 Q 4117.5111 3179.3813 4117.7711 3179.3813 L 4117.7711 3179.3813 Q 4117.8311 3179.3813 4117.9011 3179.3813 Q 4117.9811 3179.3713 4118.0511 3179.3713 Q 4118.1211 3179.3613 4118.1911 3179.3613 Q 4118.2611 3179.3513 4118.3111 3179.3413 L 4118.3111 3179.3413 L 4118.3111 3178.9913 Q 4118.2011 3179.0213 4118.0411 3179.0413 Q 4117.8911 3179.0513 4117.7311 3179.0513 L 4117.7311 3179.0513 Q 4117.5611 3179.0513 4117.4211 3179.0113 Q 4117.2811 3178.9713 4117.1811 3178.8913 Q 4117.0811 3178.8113 4117.0311 3178.7013 Q 4116.9711 3178.5913 4116.9711 3178.4513 L 4116.9711 3178.4513 Q 4116.9711 3178.1813 4117.1711 3178.0613 Q 4117.3611 3177.9413 4117.7211 3177.9413 L 4117.7211 3177.9413 L 4118.2611 3177.9413 L 4118.2611 3176.4713 L 4116.7211 3176.4713 L 4116.7211 3176.8013 L 4117.9011 3176.8013 L 4117.9011 3177.6113 L 4117.6511 3177.6113 Q 4117.4511 3177.6113 4117.2511 3177.6513 Q 4117.0611 3177.6813 4116.9011 3177.7813 Q 4116.7511 3177.8713 4116.6611 3178.0313 Q 4116.5611 3178.1913 4116.5611 3178.4213 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4050.3542,3283.2806 4050.3542,3286.4303"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4054.7233,3282.0607 4051.5738,3282.0607"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4054.7233,3287.6499 4051.5738,3287.6499"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4056.9906,3282.0378 4060.1402,3282.0378"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4061.36,3283.2576 4061.36,3286.4071"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4056.9906,3287.6268 4060.1402,3287.6268"},{"type":"arc","width":1,"svgpath":"M 4061.3602 3283.2576 A 1.2198 1.2198 0 0 0 4060.1404 3282.0378","net":""},{"type":"arc","width":1,"svgpath":"M 4060.1404 3287.627 A 1.2198 1.2198 0 0 0 4061.3602 3286.4071","net":""},{"type":"arc","width":1,"svgpath":"M 4051.574 3282.0607 A 1.2198 1.2198 0 0 0 4050.3542 3283.2806","net":""},{"type":"arc","width":1,"svgpath":"M 4050.3542 3286.4301 A 1.2198 1.2198 0 0 0 4051.574 3287.6499","net":""},{"type":"text","svgpath":"M 4056.8267 3270.1345 L 4056.4167 3269.9245 L 4055.8067 3269.3145 L 4055.8067 3273.6045 M 4053.2267 3269.3145 L 4053.8367 3269.5145 L 4054.2467 3270.1345 L 4054.4567 3271.1545 L 4054.4567 3271.7645 L 4054.2467 3272.7945 L 4053.8367 3273.4045 L 4053.2267 3273.6045 L 4052.8167 3273.6045 L 4052.2067 3273.4045 L 4051.7967 3272.7945 L 4051.5867 3271.7645 L 4051.5867 3271.1545 L 4051.7967 3270.1345 L 4052.2067 3269.5145 L 4052.8167 3269.3145 L 4053.2267 3269.3145 M 4050.2367 3270.7445 L 4050.2367 3273.6045 M 4050.2367 3271.5645 L 4049.6267 3270.9545 L 4049.2167 3270.7445 L 4048.6067 3270.7445 L 4048.1967 3270.9545 L 4047.9867 3271.5645 L 4047.9867 3273.6045 M 4046.6367 3269.3145 L 4046.6367 3273.6045 M 4046.6367 3269.3145 L 4043.9767 3269.3145 M 4046.6367 3271.3545 L 4045.0067 3271.3545","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4046.944 3285.9557 L 4046.944 3286.3257 Q 4047.294 3286.4657 4047.674 3286.4657 L 4047.674 3286.4657 Q 4048.284 3286.4657 4048.604 3286.1057 Q 4048.934 3285.7357 4048.934 3285.0257 L 4048.934 3285.0257 Q 4048.934 3284.6757 4048.844 3284.4057 Q 4048.754 3284.1257 4048.584 3283.9257 Q 4048.414 3283.7357 4048.184 3283.6257 Q 4047.944 3283.5257 4047.644 3283.5257 L 4047.644 3283.5257 Q 4047.444 3283.5257 4047.274 3283.5557 Q 4047.104 3283.5857 4046.944 3283.6657 L 4046.944 3283.6657 L 4046.944 3284.0457 Q 4047.104 3283.9557 4047.274 3283.9157 Q 4047.434 3283.8657 4047.634 3283.8657 L 4047.634 3283.8657 Q 4047.834 3283.8657 4048.004 3283.9457 Q 4048.164 3284.0257 4048.284 3284.1657 Q 4048.394 3284.3057 4048.454 3284.5157 Q 4048.514 3284.7257 4048.514 3284.9857 L 4048.514 3284.9857 Q 4048.514 3285.5457 4048.294 3285.8357 Q 4048.064 3286.1157 4047.624 3286.1157 L 4047.624 3286.1157 Q 4047.444 3286.1157 4047.274 3286.0757 Q 4047.104 3286.0257 4046.944 3285.9557 L 4046.944 3285.9557 Z  M 4044.414 3285.5157 L 4044.414 3285.5157 Q 4044.414 3285.7157 4044.484 3285.8957 Q 4044.554 3286.0657 4044.684 3286.1957 Q 4044.814 3286.3257 4045.004 3286.3957 Q 4045.184 3286.4657 4045.414 3286.4657 L 4045.414 3286.4657 Q 4045.654 3286.4657 4045.834 3286.3957 Q 4046.014 3286.3157 4046.134 3286.1557 Q 4046.264 3286.0057 4046.324 3285.7657 Q 4046.394 3285.5257 4046.394 3285.1957 L 4046.394 3285.1957 Q 4046.394 3284.9757 4046.364 3284.7657 Q 4046.334 3284.5657 4046.264 3284.3857 Q 4046.204 3284.1957 4046.094 3284.0457 Q 4045.984 3283.8957 4045.814 3283.7857 Q 4045.654 3283.6757 4045.434 3283.6157 Q 4045.214 3283.5557 4044.914 3283.5557 L 4044.914 3283.5557 L 4044.634 3283.5557 L 4044.634 3283.8957 L 4044.944 3283.8957 Q 4045.194 3283.8957 4045.384 3283.9557 Q 4045.574 3284.0157 4045.704 3284.1257 Q 4045.834 3284.2357 4045.904 3284.3957 Q 4045.964 3284.5557 4045.984 3284.7457 L 4045.984 3284.7457 L 4045.994 3284.8357 Q 4045.854 3284.7557 4045.674 3284.7057 Q 4045.494 3284.6557 4045.284 3284.6557 L 4045.284 3284.6557 Q 4045.064 3284.6557 4044.904 3284.7257 Q 4044.734 3284.7857 4044.624 3284.9057 Q 4044.524 3285.0157 4044.464 3285.1757 Q 4044.414 3285.3257 4044.414 3285.5157 Z  M 4044.814 3285.5457 L 4044.814 3285.5457 Q 4044.814 3285.4157 4044.844 3285.3057 Q 4044.874 3285.1957 4044.944 3285.1257 Q 4045.014 3285.0557 4045.114 3285.0157 Q 4045.214 3284.9657 4045.364 3284.9657 L 4045.364 3284.9657 Q 4045.444 3284.9657 4045.534 3284.9857 Q 4045.614 3285.0057 4045.704 3285.0257 Q 4045.784 3285.0557 4045.854 3285.0957 Q 4045.934 3285.1257 4045.994 3285.1657 L 4045.994 3285.1657 Q 4045.994 3285.4457 4045.954 3285.6357 Q 4045.914 3285.8257 4045.834 3285.9457 Q 4045.754 3286.0557 4045.644 3286.1057 Q 4045.534 3286.1557 4045.384 3286.1557 L 4045.384 3286.1557 Q 4045.254 3286.1557 4045.154 3286.1157 Q 4045.044 3286.0757 4044.974 3285.9957 Q 4044.894 3285.9157 4044.854 3285.8057 Q 4044.814 3285.6857 4044.814 3285.5457 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4092.0864,3283.2806 4092.0864,3286.4303"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4096.4555,3282.0607 4093.306,3282.0607"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4096.4555,3287.6499 4093.306,3287.6499"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.7228,3282.0378 4101.8724,3282.0378"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4103.0922,3283.2576 4103.0922,3286.4071"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4098.7228,3287.6268 4101.8724,3287.6268"},{"type":"arc","width":1,"svgpath":"M 4103.0924 3283.2576 A 1.2198 1.2198 0 0 0 4101.8726 3282.0378","net":""},{"type":"arc","width":1,"svgpath":"M 4101.8726 3287.627 A 1.2198 1.2198 0 0 0 4103.0924 3286.4071","net":""},{"type":"arc","width":1,"svgpath":"M 4093.3062 3282.0607 A 1.2198 1.2198 0 0 0 4092.0864 3283.2806","net":""},{"type":"arc","width":1,"svgpath":"M 4092.0864 3286.4301 A 1.2198 1.2198 0 0 0 4093.3062 3287.6499","net":""},{"type":"text","svgpath":"M 4098.5592 3270.1344 L 4098.1492 3269.9244 L 4097.5392 3269.3144 L 4097.5392 3273.6044 M 4094.9592 3269.3144 L 4095.5692 3269.5144 L 4095.9792 3270.1344 L 4096.1892 3271.1544 L 4096.1892 3271.7644 L 4095.9792 3272.7944 L 4095.5692 3273.4044 L 4094.9592 3273.6044 L 4094.5492 3273.6044 L 4093.9392 3273.4044 L 4093.5292 3272.7944 L 4093.3192 3271.7644 L 4093.3192 3271.1544 L 4093.5292 3270.1344 L 4093.9392 3269.5144 L 4094.5492 3269.3144 L 4094.9592 3269.3144 M 4091.9692 3270.7444 L 4091.9692 3273.6044 M 4091.9692 3271.5644 L 4091.3592 3270.9544 L 4090.9492 3270.7444 L 4090.3392 3270.7444 L 4089.9292 3270.9544 L 4089.7192 3271.5644 L 4089.7192 3273.6044 M 4088.3692 3269.3144 L 4088.3692 3273.6044 M 4088.3692 3269.3144 L 4085.7092 3269.3144 M 4088.3692 3271.3544 L 4086.7392 3271.3544","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4107.1841 3285.9537 L 4107.1841 3286.3237 Q 4107.5241 3286.4637 4107.9041 3286.4637 L 4107.9041 3286.4637 Q 4108.5141 3286.4637 4108.8441 3286.1037 Q 4109.1641 3285.7337 4109.1641 3285.0237 L 4109.1641 3285.0237 Q 4109.1641 3284.6837 4109.0741 3284.4037 Q 4108.9841 3284.1237 4108.8241 3283.9237 Q 4108.6541 3283.7337 4108.4141 3283.6237 Q 4108.1741 3283.5237 4107.8841 3283.5237 L 4107.8841 3283.5237 Q 4107.6841 3283.5237 4107.5141 3283.5537 Q 4107.3441 3283.5937 4107.1841 3283.6637 L 4107.1841 3283.6637 L 4107.1841 3284.0437 Q 4107.3441 3283.9637 4107.5041 3283.9137 Q 4107.6741 3283.8737 4107.8741 3283.8737 L 4107.8741 3283.8737 Q 4108.0741 3283.8737 4108.2341 3283.9437 Q 4108.4041 3284.0237 4108.5141 3284.1637 Q 4108.6341 3284.3137 4108.6941 3284.5137 Q 4108.7541 3284.7237 4108.7541 3284.9937 L 4108.7541 3284.9937 Q 4108.7541 3285.5437 4108.5241 3285.8337 Q 4108.3041 3286.1137 4107.8641 3286.1137 L 4107.8641 3286.1137 Q 4107.6741 3286.1137 4107.5041 3286.0737 Q 4107.3441 3286.0337 4107.1841 3285.9537 L 4107.1841 3285.9537 Z  M 4104.6941 3283.5537 L 4104.6941 3283.9137 L 4105.9041 3286.4337 L 4106.3341 3286.4337 L 4105.0841 3283.9137 L 4106.6341 3283.9137 L 4106.6341 3283.5537 L 4104.6941 3283.5537 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4107.1628,3123.3343 4107.1628,3119.5592 4112.3644,3119.5592 4112.3644,3123.3343"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4107.1628,3126.6903 4107.1628,3130.4654 4112.3644,3130.4654 4112.3644,3126.6903"},{"type":"text","svgpath":"M 4129.8849 3117.0978 C 4129.6449 3117.0878 4129.4149 3117.0878 4129.1849 3117.0878 L 4127.8049 3117.0878 L 4127.1749 3117.1078 L 4127.1249 3117.0478 L 4127.3649 3116.1478 L 4127.5149 3116.1478 L 4127.4649 3116.7278 L 4129.1849 3116.7278 C 4129.4149 3116.7278 4129.6449 3116.7278 4129.8849 3116.7178 L 4129.9649 3116.0978 L 4130.1049 3116.0978 L 4130.1049 3117.7078 L 4129.9649 3117.7078 Z  M 4128.6149 3118.5278 C 4127.5649 3118.5278 4127.2849 3118.7878 4127.2849 3119.0678 C 4127.2849 3119.3378 4127.5649 3119.5878 4128.6149 3119.5878 C 4129.7049 3119.5878 4129.9949 3119.3378 4129.9949 3119.0678 C 4129.9949 3118.7878 4129.7049 3118.5278 4128.6149 3118.5278 Z  M 4127.1149 3119.0678 C 4127.1149 3118.5978 4127.5249 3118.1478 4128.6149 3118.1478 C 4129.7449 3118.1478 4130.1649 3118.5978 4130.1649 3119.0678 C 4130.1649 3119.5278 4129.7449 3119.9778 4128.6149 3119.9778 C 4127.5249 3119.9778 4127.1149 3119.5278 4127.1149 3119.0678 Z  M 4129.9249 3122.2778 L 4128.7349 3121.5378 L 4128.2249 3122.0478 L 4128.1749 3122.4478 L 4128.0249 3122.4478 L 4128.0249 3121.4478 L 4128.1749 3121.4478 L 4128.2449 3121.7878 L 4129.0649 3120.9978 L 4127.5249 3120.9978 L 4126.8949 3121.0178 L 4126.8649 3120.9578 L 4127.0449 3120.2778 L 4127.1849 3120.2778 L 4127.2149 3120.6378 L 4129.1849 3120.6378 C 4129.4249 3120.6378 4129.6849 3120.6278 4129.9249 3120.6278 L 4129.9649 3120.2878 L 4130.1049 3120.2878 L 4130.1049 3121.3478 L 4129.9649 3121.3478 L 4129.9249 3121.0078 C 4129.7149 3120.9978 4129.4949 3120.9978 4129.2849 3120.9978 L 4128.9849 3121.2878 L 4130.1049 3121.9678 L 4130.1049 3122.5678 L 4129.9649 3122.5678 Z  M 4129.3649 3125.3678 L 4129.7949 3125.2578 L 4129.7949 3124.6378 L 4129.7949 3124.6378 C 4129.4749 3125.0878 4129.0049 3125.4478 4128.4349 3125.4478 C 4127.5749 3125.4478 4127.1049 3124.8478 4127.1049 3124.1678 C 4127.1049 3123.4878 4127.5749 3122.8878 4128.4349 3122.8878 C 4129.0049 3122.8878 4129.4749 3123.2478 4129.7949 3123.6978 L 4129.7949 3123.6978 L 4129.7949 3123.0678 L 4129.3649 3122.9678 L 4129.3649 3122.7378 L 4130.1049 3122.7878 L 4130.1049 3123.9578 L 4129.8349 3123.9578 C 4129.5049 3123.5478 4128.9849 3123.2878 4128.4349 3123.2878 C 4127.7849 3123.2878 4127.2949 3123.6178 4127.2949 3124.1678 C 4127.2949 3124.7178 4127.7849 3125.0378 4128.4349 3125.0378 C 4128.9849 3125.0378 4129.5049 3124.7878 4129.8349 3124.3678 L 4130.1049 3124.3678 L 4130.1049 3125.5478 L 4129.3649 3125.5878 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4110.268 3134.3029 L 4109.818 3135.2529 L 4110.258 3135.2529 L 4110.688 3134.3329 Q 4110.738 3134.2229 4110.788 3134.1529 Q 4110.838 3134.0829 4110.898 3134.0429 Q 4110.948 3134.0029 4111.018 3133.9829 Q 4111.088 3133.9729 4111.178 3133.9729 L 4111.178 3133.9729 L 4111.358 3133.9729 L 4111.358 3135.2529 L 4111.748 3135.2529 L 4111.748 3132.3729 L 4110.988 3132.3729 Q 4110.728 3132.3729 4110.548 3132.4329 Q 4110.368 3132.4829 4110.258 3132.5829 Q 4110.138 3132.6829 4110.088 3132.8229 Q 4110.038 3132.9629 4110.038 3133.1329 L 4110.038 3133.1329 Q 4110.038 3133.2629 4110.078 3133.3829 Q 4110.118 3133.5029 4110.188 3133.6029 Q 4110.268 3133.7029 4110.388 3133.7729 Q 4110.498 3133.8429 4110.648 3133.8829 L 4110.648 3133.8829 Q 4110.528 3133.9229 4110.448 3134.0229 Q 4110.358 3134.1329 4110.268 3134.3029 L 4110.268 3134.3029 Z  M 4110.438 3133.1629 L 4110.438 3133.1629 Q 4110.438 3132.9329 4110.588 3132.8229 Q 4110.728 3132.7029 4110.988 3132.7029 L 4110.988 3132.7029 L 4111.358 3132.7029 L 4111.358 3133.6529 L 4111.048 3133.6529 Q 4110.908 3133.6529 4110.798 3133.6229 Q 4110.688 3133.5929 4110.608 3133.5329 Q 4110.528 3133.4629 4110.488 3133.3729 Q 4110.438 3133.2829 4110.438 3133.1629 Z  M 4107.458 3134.8929 L 4107.458 3135.2529 L 4109.268 3135.2529 L 4109.268 3134.8929 L 4108.528 3134.8929 L 4108.528 3132.7929 L 4109.218 3133.1729 L 4109.358 3132.8429 L 4108.438 3132.3629 L 4108.098 3132.3629 L 4108.098 3134.8929 L 4107.458 3134.8929 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4051.6511,3146.5626 4051.6511,3142.7875 4056.8527,3142.7875 4056.8527,3146.5626"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4051.6511,3149.9186 4051.6511,3153.6937 4056.8527,3153.6937 4056.8527,3149.9186"},{"type":"text","svgpath":"M 4074.3732 3138.948 C 4074.1332 3138.938 4073.9032 3138.938 4073.6732 3138.938 L 4072.2932 3138.938 L 4071.6632 3138.958 L 4071.6132 3138.898 L 4071.8532 3137.998 L 4072.0032 3137.998 L 4071.9532 3138.578 L 4073.6732 3138.578 C 4073.9032 3138.578 4074.1332 3138.578 4074.3732 3138.568 L 4074.4532 3137.948 L 4074.5932 3137.948 L 4074.5932 3139.558 L 4074.4532 3139.558 Z  M 4073.1032 3140.378 C 4072.0532 3140.378 4071.7732 3140.638 4071.7732 3140.918 C 4071.7732 3141.188 4072.0532 3141.438 4073.1032 3141.438 C 4074.1932 3141.438 4074.4832 3141.188 4074.4832 3140.918 C 4074.4832 3140.638 4074.1932 3140.378 4073.1032 3140.378 Z  M 4071.6032 3140.918 C 4071.6032 3140.448 4072.0132 3139.998 4073.1032 3139.998 C 4074.2332 3139.998 4074.6532 3140.448 4074.6532 3140.918 C 4074.6532 3141.378 4074.2332 3141.828 4073.1032 3141.828 C 4072.0132 3141.828 4071.6032 3141.378 4071.6032 3140.918 Z  M 4074.4132 3144.128 L 4073.2232 3143.388 L 4072.7132 3143.898 L 4072.6632 3144.298 L 4072.5132 3144.298 L 4072.5132 3143.298 L 4072.6632 3143.298 L 4072.7332 3143.638 L 4073.5532 3142.848 L 4072.0132 3142.848 L 4071.3832 3142.868 L 4071.3532 3142.808 L 4071.5332 3142.128 L 4071.6732 3142.128 L 4071.7032 3142.488 L 4073.6732 3142.488 C 4073.9132 3142.488 4074.1732 3142.478 4074.4132 3142.478 L 4074.4532 3142.138 L 4074.5932 3142.138 L 4074.5932 3143.198 L 4074.4532 3143.198 L 4074.4132 3142.858 C 4074.2032 3142.848 4073.9832 3142.848 4073.7732 3142.848 L 4073.4732 3143.138 L 4074.5932 3143.818 L 4074.5932 3144.418 L 4074.4532 3144.418 Z  M 4073.8532 3147.218 L 4074.2832 3147.108 L 4074.2832 3146.488 L 4074.2832 3146.488 C 4073.9632 3146.938 4073.4932 3147.298 4072.9232 3147.298 C 4072.0632 3147.298 4071.5932 3146.698 4071.5932 3146.018 C 4071.5932 3145.338 4072.0632 3144.738 4072.9232 3144.738 C 4073.4932 3144.738 4073.9632 3145.098 4074.2832 3145.548 L 4074.2832 3145.548 L 4074.2832 3144.918 L 4073.8532 3144.818 L 4073.8532 3144.588 L 4074.5932 3144.638 L 4074.5932 3145.808 L 4074.3232 3145.808 C 4073.9932 3145.398 4073.4732 3145.138 4072.9232 3145.138 C 4072.2732 3145.138 4071.7832 3145.468 4071.7832 3146.018 C 4071.7832 3146.568 4072.2732 3146.888 4072.9232 3146.888 C 4073.4732 3146.888 4073.9932 3146.638 4074.3232 3146.218 L 4074.5932 3146.218 L 4074.5932 3147.398 L 4073.8532 3147.438 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4054.7643 3157.1375 L 4054.3043 3158.0875 L 4054.7443 3158.0875 L 4055.1743 3157.1675 Q 4055.2243 3157.0575 4055.2743 3156.9875 Q 4055.3243 3156.9175 4055.3843 3156.8775 Q 4055.4443 3156.8375 4055.5143 3156.8175 Q 4055.5743 3156.8075 4055.6643 3156.8075 L 4055.6643 3156.8075 L 4055.8543 3156.8075 L 4055.8543 3158.0875 L 4056.2443 3158.0875 L 4056.2443 3155.2075 L 4055.4743 3155.2075 Q 4055.2243 3155.2075 4055.0443 3155.2675 Q 4054.8643 3155.3175 4054.7443 3155.4175 Q 4054.6343 3155.5175 4054.5743 3155.6575 Q 4054.5243 3155.7975 4054.5243 3155.9675 L 4054.5243 3155.9675 Q 4054.5243 3156.0975 4054.5643 3156.2175 Q 4054.6043 3156.3375 4054.6843 3156.4375 Q 4054.7543 3156.5375 4054.8743 3156.6075 Q 4054.9843 3156.6775 4055.1343 3156.7175 L 4055.1343 3156.7175 Q 4055.0143 3156.7575 4054.9343 3156.8575 Q 4054.8443 3156.9675 4054.7643 3157.1375 L 4054.7643 3157.1375 Z  M 4054.9343 3155.9975 L 4054.9343 3155.9975 Q 4054.9343 3155.7675 4055.0743 3155.6575 Q 4055.2143 3155.5375 4055.4843 3155.5375 L 4055.4843 3155.5375 L 4055.8543 3155.5375 L 4055.8543 3156.4875 L 4055.5343 3156.4875 Q 4055.3943 3156.4875 4055.2843 3156.4575 Q 4055.1743 3156.4275 4055.0943 3156.3675 Q 4055.0143 3156.2975 4054.9743 3156.2075 Q 4054.9343 3156.1175 4054.9343 3155.9975 Z  M 4051.9243 3157.7175 L 4051.9243 3158.0875 L 4053.8143 3158.0875 L 4053.8143 3157.7375 L 4053.0743 3156.9975 Q 4052.8943 3156.8175 4052.7743 3156.6875 Q 4052.6643 3156.5575 4052.6043 3156.4475 Q 4052.5343 3156.3375 4052.5143 3156.2475 Q 4052.4943 3156.1475 4052.4943 3156.0375 L 4052.4943 3156.0375 Q 4052.4943 3155.9275 4052.5243 3155.8375 Q 4052.5443 3155.7375 4052.6043 3155.6675 Q 4052.6643 3155.5975 4052.7643 3155.5475 Q 4052.8543 3155.5075 4052.9843 3155.5075 L 4052.9843 3155.5075 Q 4053.1743 3155.5075 4053.3243 3155.5875 Q 4053.4743 3155.6775 4053.5943 3155.7975 L 4053.5943 3155.7975 L 4053.8043 3155.5475 Q 4053.6443 3155.3775 4053.4343 3155.2775 Q 4053.2243 3155.1675 4052.9343 3155.1675 L 4052.9343 3155.1675 Q 4052.7443 3155.1675 4052.5943 3155.2275 Q 4052.4343 3155.2875 4052.3143 3155.3975 Q 4052.2043 3155.4975 4052.1443 3155.6575 Q 4052.0743 3155.8175 4052.0743 3156.0075 L 4052.0743 3156.0075 Q 4052.0743 3156.1775 4052.1243 3156.3175 Q 4052.1643 3156.4575 4052.2543 3156.5975 Q 4052.3443 3156.7375 4052.4843 3156.8875 Q 4052.6143 3157.0375 4052.8043 3157.2075 L 4052.8043 3157.2075 L 4053.3243 3157.7175 L 4051.9243 3157.7175 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4107.5046,3251.1514 4111.2797,3251.1514 4111.2797,3256.353 4107.5046,3256.353"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4104.1486,3251.1514 4100.3735,3251.1514 4100.3735,3256.353 4104.1486,3256.353"},{"type":"text","svgpath":"M 4114.4973 3273.6295 C 4114.5073 3273.3895 4114.5073 3273.1595 4114.5073 3272.9295 L 4114.5073 3271.5495 L 4114.4873 3270.9195 L 4114.5473 3270.8695 L 4115.4473 3271.1095 L 4115.4473 3271.2595 L 4114.8673 3271.2095 L 4114.8673 3272.9295 C 4114.8673 3273.1595 4114.8673 3273.3895 4114.8773 3273.6295 L 4115.4973 3273.7095 L 4115.4973 3273.8495 L 4113.8873 3273.8495 L 4113.8873 3273.7095 Z  M 4113.0673 3272.3595 C 4113.0673 3271.3095 4112.8073 3271.0295 4112.5273 3271.0295 C 4112.2573 3271.0295 4112.0073 3271.3095 4112.0073 3272.3595 C 4112.0073 3273.4495 4112.2573 3273.7395 4112.5273 3273.7395 C 4112.8073 3273.7395 4113.0673 3273.4495 4113.0673 3272.3595 Z  M 4112.5273 3270.8595 C 4112.9973 3270.8595 4113.4473 3271.2695 4113.4473 3272.3595 C 4113.4473 3273.4895 4112.9973 3273.9095 4112.5273 3273.9095 C 4112.0673 3273.9095 4111.6173 3273.4895 4111.6173 3272.3595 C 4111.6173 3271.2695 4112.0673 3270.8595 4112.5273 3270.8595 Z  M 4109.3173 3273.6695 L 4110.0573 3272.4795 L 4109.5473 3271.9695 L 4109.1473 3271.9195 L 4109.1473 3271.7695 L 4110.1473 3271.7695 L 4110.1473 3271.9195 L 4109.8073 3271.9895 L 4110.5973 3272.8095 L 4110.5973 3271.2695 L 4110.5773 3270.6395 L 4110.6373 3270.6095 L 4111.3173 3270.7895 L 4111.3173 3270.9295 L 4110.9573 3270.9595 L 4110.9573 3272.9295 C 4110.9573 3273.1695 4110.9673 3273.4295 4110.9673 3273.6695 L 4111.3073 3273.7095 L 4111.3073 3273.8495 L 4110.2473 3273.8495 L 4110.2473 3273.7095 L 4110.5873 3273.6695 C 4110.5973 3273.4595 4110.5973 3273.2395 4110.5973 3273.0295 L 4110.3073 3272.7295 L 4109.6273 3273.8495 L 4109.0273 3273.8495 L 4109.0273 3273.7095 Z  M 4106.2273 3273.1095 L 4106.3373 3273.5395 L 4106.9573 3273.5395 L 4106.9573 3273.5395 C 4106.5073 3273.2195 4106.1473 3272.7495 4106.1473 3272.1795 C 4106.1473 3271.3195 4106.7473 3270.8495 4107.4273 3270.8495 C 4108.1073 3270.8495 4108.7073 3271.3195 4108.7073 3272.1795 C 4108.7073 3272.7495 4108.3473 3273.2195 4107.8973 3273.5395 L 4107.8973 3273.5395 L 4108.5273 3273.5395 L 4108.6273 3273.1095 L 4108.8573 3273.1095 L 4108.8073 3273.8495 L 4107.6373 3273.8495 L 4107.6373 3273.5795 C 4108.0473 3273.2495 4108.3073 3272.7295 4108.3073 3272.1795 C 4108.3073 3271.5295 4107.9773 3271.0395 4107.4273 3271.0395 C 4106.8773 3271.0395 4106.5573 3271.5295 4106.5573 3272.1795 C 4106.5573 3272.7295 4106.8073 3273.2495 4107.2273 3273.5795 L 4107.2273 3273.8495 L 4106.0473 3273.8495 L 4106.0073 3273.1095 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4115.3921 3253.9917 L 4114.9321 3254.9317 L 4115.3721 3254.9317 L 4115.8021 3254.0117 Q 4115.8521 3253.9117 4115.9021 3253.8417 Q 4115.9521 3253.7717 4116.0121 3253.7317 Q 4116.0721 3253.6917 4116.1421 3253.6717 Q 4116.2121 3253.6517 4116.2921 3253.6517 L 4116.2921 3253.6517 L 4116.4821 3253.6517 L 4116.4821 3254.9317 L 4116.8721 3254.9317 L 4116.8721 3252.0617 L 4116.1021 3252.0617 Q 4115.8521 3252.0617 4115.6721 3252.1117 Q 4115.4921 3252.1717 4115.3721 3252.2717 Q 4115.2621 3252.3717 4115.2021 3252.5117 Q 4115.1521 3252.6517 4115.1521 3252.8217 L 4115.1521 3252.8217 Q 4115.1521 3252.9517 4115.1921 3253.0717 Q 4115.2321 3253.1917 4115.3121 3253.2917 Q 4115.3921 3253.3817 4115.5021 3253.4617 Q 4115.6221 3253.5317 4115.7721 3253.5617 L 4115.7721 3253.5617 Q 4115.6421 3253.6017 4115.5621 3253.7117 Q 4115.4821 3253.8117 4115.3921 3253.9917 L 4115.3921 3253.9917 Z  M 4115.5621 3252.8517 L 4115.5621 3252.8517 Q 4115.5621 3252.6217 4115.7021 3252.5017 Q 4115.8521 3252.3917 4116.1121 3252.3917 L 4116.1121 3252.3917 L 4116.4821 3252.3917 L 4116.4821 3253.3417 L 4116.1621 3253.3417 Q 4116.0221 3253.3417 4115.9121 3253.3117 Q 4115.8021 3253.2717 4115.7221 3253.2117 Q 4115.6421 3253.1517 4115.6021 3253.0617 Q 4115.5621 3252.9717 4115.5621 3252.8517 Z  M 4112.6121 3254.0617 L 4112.6121 3254.0617 Q 4112.6121 3254.2517 4112.6821 3254.4117 Q 4112.7621 3254.5817 4112.9221 3254.7017 Q 4113.0721 3254.8317 4113.3021 3254.9017 Q 4113.5421 3254.9717 4113.8421 3254.9717 L 4113.8421 3254.9717 Q 4114.0221 3254.9717 4114.1521 3254.9617 Q 4114.2921 3254.9517 4114.4121 3254.9317 L 4114.4121 3254.9317 L 4114.4121 3254.5917 Q 4114.2721 3254.6117 4114.1221 3254.6317 Q 4113.9721 3254.6417 4113.8121 3254.6417 L 4113.8121 3254.6417 Q 4113.5921 3254.6417 4113.4421 3254.6017 Q 4113.2921 3254.5617 4113.1921 3254.4917 Q 4113.1021 3254.4217 4113.0521 3254.3117 Q 4113.0121 3254.2117 4113.0121 3254.0817 L 4113.0121 3254.0817 Q 4113.0121 3253.9617 4113.0621 3253.8717 Q 4113.1121 3253.7917 4113.2121 3253.7317 Q 4113.3021 3253.6717 4113.4421 3253.6417 Q 4113.5721 3253.6117 4113.7321 3253.6117 L 4113.7321 3253.6117 L 4114.0621 3253.6117 L 4114.0621 3253.2917 L 4113.7221 3253.2917 Q 4113.5921 3253.2917 4113.4921 3253.2617 Q 4113.3821 3253.2317 4113.3121 3253.1617 Q 4113.2321 3253.1017 4113.1921 3253.0117 Q 4113.1521 3252.9117 4113.1521 3252.7917 L 4113.1521 3252.7917 Q 4113.1521 3252.5617 4113.2921 3252.4617 Q 4113.4321 3252.3517 4113.7021 3252.3517 L 4113.7021 3252.3517 Q 4113.8521 3252.3517 4114.0021 3252.3817 Q 4114.1521 3252.4117 4114.3321 3252.4717 L 4114.3321 3252.4717 L 4114.3321 3252.1317 Q 4114.2621 3252.1117 4114.1721 3252.0917 Q 4114.0921 3252.0617 4114.0021 3252.0517 Q 4113.9221 3252.0417 4113.8321 3252.0317 Q 4113.7521 3252.0217 4113.6721 3252.0217 L 4113.6721 3252.0217 Q 4113.4421 3252.0217 4113.2721 3252.0717 Q 4113.1021 3252.1217 4112.9821 3252.2117 Q 4112.8621 3252.3017 4112.8121 3252.4417 Q 4112.7521 3252.5717 4112.7521 3252.7317 L 4112.7521 3252.7317 Q 4112.7521 3252.9817 4112.8721 3253.1517 Q 4113.0021 3253.3117 4113.2221 3253.4117 L 4113.2221 3253.4117 Q 4113.1121 3253.4317 4113.0021 3253.4817 Q 4112.8921 3253.5317 4112.8021 3253.6217 Q 4112.7221 3253.7017 4112.6621 3253.8117 Q 4112.6121 3253.9217 4112.6121 3254.0617 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4039.3945,3223.1987 4043.1696,3223.1987 4043.1696,3228.4003 4039.3945,3228.4003"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4036.0385,3223.1987 4032.2634,3223.1987 4032.2634,3228.4003 4036.0385,3228.4003"},{"type":"text","svgpath":"M 4047.3874 3246.2988 C 4047.3974 3246.0588 4047.3974 3245.8288 4047.3974 3245.5988 L 4047.3974 3244.2188 L 4047.3774 3243.5888 L 4047.4374 3243.5388 L 4048.3374 3243.7788 L 4048.3374 3243.9288 L 4047.7574 3243.8788 L 4047.7574 3245.5988 C 4047.7574 3245.8288 4047.7574 3246.0588 4047.7674 3246.2988 L 4048.3874 3246.3788 L 4048.3874 3246.5188 L 4046.7774 3246.5188 L 4046.7774 3246.3788 Z  M 4045.9574 3245.0288 C 4045.9574 3243.9788 4045.6974 3243.6988 4045.4174 3243.6988 C 4045.1474 3243.6988 4044.8974 3243.9788 4044.8974 3245.0288 C 4044.8974 3246.1188 4045.1474 3246.4088 4045.4174 3246.4088 C 4045.6974 3246.4088 4045.9574 3246.1188 4045.9574 3245.0288 Z  M 4045.4174 3243.5288 C 4045.8874 3243.5288 4046.3374 3243.9388 4046.3374 3245.0288 C 4046.3374 3246.1588 4045.8874 3246.5788 4045.4174 3246.5788 C 4044.9574 3246.5788 4044.5074 3246.1588 4044.5074 3245.0288 C 4044.5074 3243.9388 4044.9574 3243.5288 4045.4174 3243.5288 Z  M 4042.2074 3246.3388 L 4042.9474 3245.1488 L 4042.4374 3244.6388 L 4042.0374 3244.5888 L 4042.0374 3244.4388 L 4043.0374 3244.4388 L 4043.0374 3244.5888 L 4042.6974 3244.6588 L 4043.4874 3245.4788 L 4043.4874 3243.9388 L 4043.4674 3243.3088 L 4043.5274 3243.2788 L 4044.2074 3243.4588 L 4044.2074 3243.5988 L 4043.8474 3243.6288 L 4043.8474 3245.5988 C 4043.8474 3245.8388 4043.8574 3246.0988 4043.8574 3246.3388 L 4044.1974 3246.3788 L 4044.1974 3246.5188 L 4043.1374 3246.5188 L 4043.1374 3246.3788 L 4043.4774 3246.3388 C 4043.4874 3246.1288 4043.4874 3245.9088 4043.4874 3245.6988 L 4043.1974 3245.3988 L 4042.5174 3246.5188 L 4041.9174 3246.5188 L 4041.9174 3246.3788 Z  M 4039.1174 3245.7788 L 4039.2274 3246.2088 L 4039.8474 3246.2088 L 4039.8474 3246.2088 C 4039.3974 3245.8888 4039.0374 3245.4188 4039.0374 3244.8488 C 4039.0374 3243.9888 4039.6374 3243.5188 4040.3174 3243.5188 C 4040.9974 3243.5188 4041.5974 3243.9888 4041.5974 3244.8488 C 4041.5974 3245.4188 4041.2374 3245.8888 4040.7874 3246.2088 L 4040.7874 3246.2088 L 4041.4174 3246.2088 L 4041.5174 3245.7788 L 4041.7474 3245.7788 L 4041.6974 3246.5188 L 4040.5274 3246.5188 L 4040.5274 3246.2488 C 4040.9374 3245.9188 4041.1974 3245.3988 4041.1974 3244.8488 C 4041.1974 3244.1988 4040.8674 3243.7088 4040.3174 3243.7088 C 4039.7674 3243.7088 4039.4474 3244.1988 4039.4474 3244.8488 C 4039.4474 3245.3988 4039.6974 3245.9188 4040.1174 3246.2488 L 4040.1174 3246.5188 L 4038.9374 3246.5188 L 4038.8974 3245.7788 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4028.8637 3226.9464 L 4028.4037 3227.8864 L 4028.8437 3227.8864 L 4029.2737 3226.9764 Q 4029.3237 3226.8664 4029.3737 3226.7964 Q 4029.4237 3226.7264 4029.4837 3226.6864 Q 4029.5437 3226.6464 4029.6137 3226.6264 Q 4029.6837 3226.6064 4029.7637 3226.6064 L 4029.7637 3226.6064 L 4029.9537 3226.6064 L 4029.9537 3227.8864 L 4030.3437 3227.8864 L 4030.3437 3225.0164 L 4029.5737 3225.0164 Q 4029.3237 3225.0164 4029.1437 3225.0764 Q 4028.9637 3225.1264 4028.8437 3225.2264 Q 4028.7337 3225.3264 4028.6737 3225.4664 Q 4028.6237 3225.6064 4028.6237 3225.7764 L 4028.6237 3225.7764 Q 4028.6237 3225.9064 4028.6637 3226.0264 Q 4028.7037 3226.1464 4028.7837 3226.2464 Q 4028.8637 3226.3464 4028.9737 3226.4164 Q 4029.0937 3226.4864 4029.2437 3226.5164 L 4029.2437 3226.5164 Q 4029.1137 3226.5664 4029.0337 3226.6664 Q 4028.9537 3226.7764 4028.8637 3226.9464 L 4028.8637 3226.9464 Z  M 4029.0337 3225.8064 L 4029.0337 3225.8064 Q 4029.0337 3225.5764 4029.1737 3225.4664 Q 4029.3237 3225.3464 4029.5837 3225.3464 L 4029.5837 3225.3464 L 4029.9537 3225.3464 L 4029.9537 3226.2964 L 4029.6337 3226.2964 Q 4029.4937 3226.2964 4029.3837 3226.2664 Q 4029.2737 3226.2364 4029.1937 3226.1664 Q 4029.1137 3226.1064 4029.0737 3226.0164 Q 4029.0337 3225.9264 4029.0337 3225.8064 Z  M 4025.8837 3226.9164 L 4025.8837 3227.2564 L 4026.3737 3227.2564 L 4026.3737 3227.8864 L 4026.7637 3227.8864 L 4026.7637 3227.2564 L 4028.1437 3227.2564 L 4028.1437 3226.9164 L 4026.9237 3225.0164 L 4026.3737 3225.0164 L 4026.3737 3226.9164 L 4025.8837 3226.9164 Z  M 4026.7637 3226.9164 L 4026.7637 3225.3864 L 4027.7637 3226.9164 L 4026.7637 3226.9164 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4126.1958,3173.676 4122.4207,3173.676 4122.4207,3168.4744 4126.1958,3168.4744"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4129.5518,3173.676 4133.3269,3173.676 4133.3269,3168.4744 4129.5518,3168.4744"},{"type":"text","svgpath":"M 4126.693 3153.6939 C 4126.703 3153.4539 4126.703 3153.2239 4126.703 3152.9939 L 4126.703 3151.6139 L 4126.683 3150.9839 L 4126.743 3150.9339 L 4127.643 3151.1739 L 4127.643 3151.3239 L 4127.063 3151.2739 L 4127.063 3152.9939 C 4127.063 3153.2239 4127.063 3153.4539 4127.073 3153.6939 L 4127.693 3153.7739 L 4127.693 3153.9139 L 4126.083 3153.9139 L 4126.083 3153.7739 Z  M 4125.263 3152.4239 C 4125.263 3151.3739 4125.003 3151.0939 4124.723 3151.0939 C 4124.453 3151.0939 4124.203 3151.3739 4124.203 3152.4239 C 4124.203 3153.5139 4124.453 3153.8039 4124.723 3153.8039 C 4125.003 3153.8039 4125.263 3153.5139 4125.263 3152.4239 Z  M 4124.723 3150.9239 C 4125.193 3150.9239 4125.643 3151.3339 4125.643 3152.4239 C 4125.643 3153.5539 4125.193 3153.9739 4124.723 3153.9739 C 4124.263 3153.9739 4123.813 3153.5539 4123.813 3152.4239 C 4123.813 3151.3339 4124.263 3150.9239 4124.723 3150.9239 Z  M 4121.513 3153.7339 L 4122.253 3152.5439 L 4121.743 3152.0339 L 4121.343 3151.9839 L 4121.343 3151.8339 L 4122.343 3151.8339 L 4122.343 3151.9839 L 4122.003 3152.0539 L 4122.793 3152.8739 L 4122.793 3151.3339 L 4122.773 3150.7039 L 4122.833 3150.6739 L 4123.513 3150.8539 L 4123.513 3150.9939 L 4123.153 3151.0239 L 4123.153 3152.9939 C 4123.153 3153.2339 4123.163 3153.4939 4123.163 3153.7339 L 4123.503 3153.7739 L 4123.503 3153.9139 L 4122.443 3153.9139 L 4122.443 3153.7739 L 4122.783 3153.7339 C 4122.793 3153.5239 4122.793 3153.3039 4122.793 3153.0939 L 4122.503 3152.7939 L 4121.823 3153.9139 L 4121.223 3153.9139 L 4121.223 3153.7739 Z  M 4118.423 3153.1739 L 4118.533 3153.6039 L 4119.153 3153.6039 L 4119.153 3153.6039 C 4118.703 3153.2839 4118.343 3152.8139 4118.343 3152.2439 C 4118.343 3151.3839 4118.943 3150.9139 4119.623 3150.9139 C 4120.303 3150.9139 4120.903 3151.3839 4120.903 3152.2439 C 4120.903 3152.8139 4120.543 3153.2839 4120.093 3153.6039 L 4120.093 3153.6039 L 4120.723 3153.6039 L 4120.823 3153.1739 L 4121.053 3153.1739 L 4121.003 3153.9139 L 4119.833 3153.9139 L 4119.833 3153.6439 C 4120.243 3153.3139 4120.503 3152.7939 4120.503 3152.2439 C 4120.503 3151.5939 4120.173 3151.1039 4119.623 3151.1039 C 4119.073 3151.1039 4118.753 3151.5939 4118.753 3152.2439 C 4118.753 3152.7939 4119.003 3153.3139 4119.423 3153.6439 L 4119.423 3153.9139 L 4118.243 3153.9139 L 4118.203 3153.1739 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4119.3291 3171.7044 L 4118.8691 3172.6544 L 4119.3091 3172.6544 L 4119.7391 3171.7344 Q 4119.7891 3171.6244 4119.8391 3171.5544 Q 4119.8891 3171.4844 4119.9491 3171.4444 Q 4120.0091 3171.4044 4120.0791 3171.3844 Q 4120.1491 3171.3744 4120.2291 3171.3744 L 4120.2291 3171.3744 L 4120.4191 3171.3744 L 4120.4191 3172.6544 L 4120.8091 3172.6544 L 4120.8091 3169.7744 L 4120.0391 3169.7744 Q 4119.7891 3169.7744 4119.6091 3169.8344 Q 4119.4291 3169.8844 4119.3091 3169.9844 Q 4119.1991 3170.0844 4119.1391 3170.2244 Q 4119.0891 3170.3644 4119.0891 3170.5344 L 4119.0891 3170.5344 Q 4119.0891 3170.6644 4119.1291 3170.7844 Q 4119.1691 3170.9044 4119.2491 3171.0044 Q 4119.3291 3171.1044 4119.4391 3171.1744 Q 4119.5591 3171.2444 4119.7091 3171.2844 L 4119.7091 3171.2844 Q 4119.5791 3171.3244 4119.4991 3171.4244 Q 4119.4191 3171.5344 4119.3291 3171.7044 L 4119.3291 3171.7044 Z  M 4119.4991 3170.5644 L 4119.4991 3170.5644 Q 4119.4991 3170.3344 4119.6391 3170.2244 Q 4119.7891 3170.1044 4120.0491 3170.1044 L 4120.0491 3170.1044 L 4120.4191 3170.1044 L 4120.4191 3171.0544 L 4120.0991 3171.0544 Q 4119.9591 3171.0544 4119.8491 3171.0244 Q 4119.7391 3170.9944 4119.6591 3170.9344 Q 4119.5791 3170.8644 4119.5391 3170.7744 Q 4119.4991 3170.6844 4119.4991 3170.5644 Z  M 4116.5691 3171.7344 L 4116.5691 3171.7344 Q 4116.5691 3171.9444 4116.6591 3172.1244 Q 4116.7491 3172.2944 4116.9091 3172.4244 Q 4117.0691 3172.5444 4117.2891 3172.6144 Q 4117.5091 3172.6944 4117.7691 3172.6944 L 4117.7691 3172.6944 Q 4117.8291 3172.6944 4117.8991 3172.6844 Q 4117.9791 3172.6844 4118.0491 3172.6744 Q 4118.1191 3172.6744 4118.1891 3172.6644 Q 4118.2591 3172.6544 4118.3191 3172.6544 L 4118.3191 3172.6544 L 4118.3191 3172.3044 Q 4118.1991 3172.3344 4118.0491 3172.3444 Q 4117.8891 3172.3544 4117.7391 3172.3544 L 4117.7391 3172.3544 Q 4117.5591 3172.3544 4117.4191 3172.3144 Q 4117.2791 3172.2744 4117.1791 3172.1944 Q 4117.0791 3172.1144 4117.0291 3172.0044 Q 4116.9791 3171.8944 4116.9791 3171.7544 L 4116.9791 3171.7544 Q 4116.9791 3171.4944 4117.1691 3171.3644 Q 4117.3591 3171.2444 4117.7191 3171.2444 L 4117.7191 3171.2444 L 4118.2691 3171.2444 L 4118.2691 3169.7744 L 4116.7191 3169.7744 L 4116.7191 3170.1144 L 4117.9091 3170.1144 L 4117.9091 3170.9144 L 4117.6591 3170.9144 Q 4117.4491 3170.9144 4117.2491 3170.9544 Q 4117.0591 3170.9944 4116.8991 3171.0844 Q 4116.7491 3171.1844 4116.6591 3171.3344 Q 4116.5691 3171.4944 4116.5691 3171.7344 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4057.5047,3275.5608 4061.2798,3275.5608 4061.2798,3280.7624 4057.5047,3280.7624"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4054.1487,3275.5608 4050.3736,3275.5608 4050.3736,3280.7624 4054.1487,3280.7624"},{"type":"text","svgpath":"M 4064.3633 3297.9049 C 4064.3733 3297.6649 4064.3733 3297.4349 4064.3733 3297.2049 L 4064.3733 3295.8249 L 4064.3533 3295.1949 L 4064.4133 3295.1449 L 4065.3133 3295.3849 L 4065.3133 3295.5349 L 4064.7333 3295.4849 L 4064.7333 3297.2049 C 4064.7333 3297.4349 4064.7333 3297.6649 4064.7433 3297.9049 L 4065.3633 3297.9849 L 4065.3633 3298.1249 L 4063.7533 3298.1249 L 4063.7533 3297.9849 Z  M 4062.9333 3296.6349 C 4062.9333 3295.5849 4062.6733 3295.3049 4062.3933 3295.3049 C 4062.1233 3295.3049 4061.8733 3295.5849 4061.8733 3296.6349 C 4061.8733 3297.7249 4062.1233 3298.0149 4062.3933 3298.0149 C 4062.6733 3298.0149 4062.9333 3297.7249 4062.9333 3296.6349 Z  M 4062.3933 3295.1349 C 4062.8633 3295.1349 4063.3133 3295.5449 4063.3133 3296.6349 C 4063.3133 3297.7649 4062.8633 3298.1849 4062.3933 3298.1849 C 4061.9333 3298.1849 4061.4833 3297.7649 4061.4833 3296.6349 C 4061.4833 3295.5449 4061.9333 3295.1349 4062.3933 3295.1349 Z  M 4059.1833 3297.9449 L 4059.9233 3296.7549 L 4059.4133 3296.2449 L 4059.0133 3296.1949 L 4059.0133 3296.0449 L 4060.0133 3296.0449 L 4060.0133 3296.1949 L 4059.6733 3296.2649 L 4060.4633 3297.0849 L 4060.4633 3295.5449 L 4060.4433 3294.9149 L 4060.5033 3294.8849 L 4061.1833 3295.0649 L 4061.1833 3295.2049 L 4060.8233 3295.2349 L 4060.8233 3297.2049 C 4060.8233 3297.4449 4060.8333 3297.7049 4060.8333 3297.9449 L 4061.1733 3297.9849 L 4061.1733 3298.1249 L 4060.1133 3298.1249 L 4060.1133 3297.9849 L 4060.4533 3297.9449 C 4060.4633 3297.7349 4060.4633 3297.5149 4060.4633 3297.3049 L 4060.1733 3297.0049 L 4059.4933 3298.1249 L 4058.8933 3298.1249 L 4058.8933 3297.9849 Z  M 4056.0933 3297.3849 L 4056.2033 3297.8149 L 4056.8233 3297.8149 L 4056.8233 3297.8149 C 4056.3733 3297.4949 4056.0133 3297.0249 4056.0133 3296.4549 C 4056.0133 3295.5949 4056.6133 3295.1249 4057.2933 3295.1249 C 4057.9733 3295.1249 4058.5733 3295.5949 4058.5733 3296.4549 C 4058.5733 3297.0249 4058.2133 3297.4949 4057.7633 3297.8149 L 4057.7633 3297.8149 L 4058.3933 3297.8149 L 4058.4933 3297.3849 L 4058.7233 3297.3849 L 4058.6733 3298.1249 L 4057.5033 3298.1249 L 4057.5033 3297.8549 C 4057.9133 3297.5249 4058.1733 3297.0049 4058.1733 3296.4549 C 4058.1733 3295.8049 4057.8433 3295.3149 4057.2933 3295.3149 C 4056.7433 3295.3149 4056.4233 3295.8049 4056.4233 3296.4549 C 4056.4233 3297.0049 4056.6733 3297.5249 4057.0933 3297.8549 L 4057.0933 3298.1249 L 4055.9133 3298.1249 L 4055.8733 3297.3849 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4047.2609 3279.251 L 4046.8109 3280.201 L 4047.2509 3280.201 L 4047.6809 3279.281 Q 4047.7209 3279.171 4047.7809 3279.101 Q 4047.8309 3279.041 4047.8809 3278.991 Q 4047.9409 3278.951 4048.0109 3278.941 Q 4048.0809 3278.921 4048.1709 3278.921 L 4048.1709 3278.921 L 4048.3509 3278.921 L 4048.3509 3280.201 L 4048.7409 3280.201 L 4048.7409 3277.331 L 4047.9709 3277.331 Q 4047.7209 3277.331 4047.5409 3277.381 Q 4047.3609 3277.441 4047.2509 3277.531 Q 4047.1309 3277.631 4047.0809 3277.771 Q 4047.0209 3277.911 4047.0209 3278.081 L 4047.0209 3278.081 Q 4047.0209 3278.221 4047.0609 3278.341 Q 4047.1009 3278.461 4047.1809 3278.551 Q 4047.2609 3278.651 4047.3709 3278.721 Q 4047.4909 3278.791 4047.6409 3278.831 L 4047.6409 3278.831 Q 4047.5209 3278.871 4047.4309 3278.971 Q 4047.3509 3279.081 4047.2609 3279.251 L 4047.2609 3279.251 Z  M 4047.4309 3278.111 L 4047.4309 3278.111 Q 4047.4309 3277.881 4047.5809 3277.771 Q 4047.7209 3277.661 4047.9809 3277.661 L 4047.9809 3277.661 L 4048.3509 3277.661 L 4048.3509 3278.601 L 4048.0309 3278.601 Q 4047.9009 3278.601 4047.7909 3278.571 Q 4047.6709 3278.541 4047.6009 3278.481 Q 4047.5209 3278.421 4047.4809 3278.321 Q 4047.4309 3278.231 4047.4309 3278.111 Z  M 4044.3909 3279.291 L 4044.3909 3279.291 Q 4044.3909 3279.491 4044.4609 3279.661 Q 4044.5309 3279.831 4044.6709 3279.961 Q 4044.8009 3280.091 4044.9809 3280.161 Q 4045.1709 3280.241 4045.4009 3280.241 L 4045.4009 3280.241 Q 4045.6309 3280.241 4045.8209 3280.161 Q 4046.0009 3280.091 4046.1209 3279.931 Q 4046.2409 3279.771 4046.3109 3279.531 Q 4046.3709 3279.291 4046.3709 3278.961 L 4046.3709 3278.961 Q 4046.3709 3278.751 4046.3409 3278.541 Q 4046.3109 3278.331 4046.2509 3278.151 Q 4046.1809 3277.971 4046.0709 3277.821 Q 4045.9609 3277.661 4045.8009 3277.561 Q 4045.6409 3277.451 4045.4109 3277.391 Q 4045.1909 3277.331 4044.9009 3277.331 L 4044.9009 3277.331 L 4044.6209 3277.331 L 4044.6209 3277.661 L 4044.9209 3277.661 Q 4045.1809 3277.661 4045.3709 3277.721 Q 4045.5609 3277.781 4045.6909 3277.891 Q 4045.8109 3278.011 4045.8809 3278.171 Q 4045.9509 3278.321 4045.9709 3278.521 L 4045.9709 3278.521 L 4045.9809 3278.611 Q 4045.8409 3278.531 4045.6609 3278.481 Q 4045.4709 3278.431 4045.2609 3278.431 L 4045.2609 3278.431 Q 4045.0509 3278.431 4044.8809 3278.491 Q 4044.7209 3278.561 4044.6109 3278.671 Q 4044.5009 3278.781 4044.4509 3278.941 Q 4044.3909 3279.101 4044.3909 3279.291 Z  M 4044.7909 3279.311 L 4044.7909 3279.311 Q 4044.7909 3279.181 4044.8209 3279.071 Q 4044.8609 3278.971 4044.9209 3278.891 Q 4044.9909 3278.821 4045.1009 3278.781 Q 4045.2009 3278.741 4045.3509 3278.741 L 4045.3509 3278.741 Q 4045.4309 3278.741 4045.5109 3278.751 Q 4045.6009 3278.771 4045.6809 3278.801 Q 4045.7609 3278.821 4045.8409 3278.861 Q 4045.9109 3278.891 4045.9809 3278.931 L 4045.9809 3278.931 Q 4045.9809 3279.221 4045.9409 3279.411 Q 4045.9009 3279.601 4045.8209 3279.711 Q 4045.7409 3279.831 4045.6309 3279.871 Q 4045.5109 3279.921 4045.3609 3279.921 L 4045.3609 3279.921 Q 4045.2409 3279.921 4045.1309 3279.881 Q 4045.0309 3279.841 4044.9509 3279.761 Q 4044.8809 3279.681 4044.8309 3279.571 Q 4044.7909 3279.461 4044.7909 3279.311 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4099.6306,3275.5608 4103.4057,3275.5608 4103.4057,3280.7624 4099.6306,3280.7624"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4096.2746,3275.5608 4092.4995,3275.5608 4092.4995,3280.7624 4096.2746,3280.7624"},{"type":"text","svgpath":"M 4106.8675 3297.905 C 4106.8775 3297.665 4106.8775 3297.435 4106.8775 3297.205 L 4106.8775 3295.825 L 4106.8575 3295.195 L 4106.9175 3295.145 L 4107.8175 3295.385 L 4107.8175 3295.535 L 4107.2375 3295.485 L 4107.2375 3297.205 C 4107.2375 3297.435 4107.2375 3297.665 4107.2475 3297.905 L 4107.8675 3297.985 L 4107.8675 3298.125 L 4106.2575 3298.125 L 4106.2575 3297.985 Z  M 4105.4375 3296.635 C 4105.4375 3295.585 4105.1775 3295.305 4104.8975 3295.305 C 4104.6275 3295.305 4104.3775 3295.585 4104.3775 3296.635 C 4104.3775 3297.725 4104.6275 3298.015 4104.8975 3298.015 C 4105.1775 3298.015 4105.4375 3297.725 4105.4375 3296.635 Z  M 4104.8975 3295.135 C 4105.3675 3295.135 4105.8175 3295.545 4105.8175 3296.635 C 4105.8175 3297.765 4105.3675 3298.185 4104.8975 3298.185 C 4104.4375 3298.185 4103.9875 3297.765 4103.9875 3296.635 C 4103.9875 3295.545 4104.4375 3295.135 4104.8975 3295.135 Z  M 4101.6875 3297.945 L 4102.4275 3296.755 L 4101.9175 3296.245 L 4101.5175 3296.195 L 4101.5175 3296.045 L 4102.5175 3296.045 L 4102.5175 3296.195 L 4102.1775 3296.265 L 4102.9675 3297.085 L 4102.9675 3295.545 L 4102.9475 3294.915 L 4103.0075 3294.885 L 4103.6875 3295.065 L 4103.6875 3295.205 L 4103.3275 3295.235 L 4103.3275 3297.205 C 4103.3275 3297.445 4103.3375 3297.705 4103.3375 3297.945 L 4103.6775 3297.985 L 4103.6775 3298.125 L 4102.6175 3298.125 L 4102.6175 3297.985 L 4102.9575 3297.945 C 4102.9675 3297.735 4102.9675 3297.515 4102.9675 3297.305 L 4102.6775 3297.005 L 4101.9975 3298.125 L 4101.3975 3298.125 L 4101.3975 3297.985 Z  M 4098.5975 3297.385 L 4098.7075 3297.815 L 4099.3275 3297.815 L 4099.3275 3297.815 C 4098.8775 3297.495 4098.5175 3297.025 4098.5175 3296.455 C 4098.5175 3295.595 4099.1175 3295.125 4099.7975 3295.125 C 4100.4775 3295.125 4101.0775 3295.595 4101.0775 3296.455 C 4101.0775 3297.025 4100.7175 3297.495 4100.2675 3297.815 L 4100.2675 3297.815 L 4100.8975 3297.815 L 4100.9975 3297.385 L 4101.2275 3297.385 L 4101.1775 3298.125 L 4100.0075 3298.125 L 4100.0075 3297.855 C 4100.4175 3297.525 4100.6775 3297.005 4100.6775 3296.455 C 4100.6775 3295.805 4100.3475 3295.315 4099.7975 3295.315 C 4099.2475 3295.315 4098.9275 3295.805 4098.9275 3296.455 C 4098.9275 3297.005 4099.1775 3297.525 4099.5975 3297.855 L 4099.5975 3298.125 L 4098.4175 3298.125 L 4098.3775 3297.385 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4107.4501 3279.2913 L 4107.0001 3280.2413 L 4107.4401 3280.2413 L 4107.8701 3279.3213 Q 4107.9201 3279.2113 4107.9701 3279.1413 Q 4108.0201 3279.0813 4108.0801 3279.0313 Q 4108.1301 3278.9913 4108.2001 3278.9813 Q 4108.2701 3278.9613 4108.3601 3278.9613 L 4108.3601 3278.9613 L 4108.5401 3278.9613 L 4108.5401 3280.2413 L 4108.9301 3280.2413 L 4108.9301 3277.3713 L 4108.1701 3277.3713 Q 4107.9101 3277.3713 4107.7301 3277.4213 Q 4107.5501 3277.4813 4107.4401 3277.5713 Q 4107.3201 3277.6713 4107.2701 3277.8113 Q 4107.2201 3277.9513 4107.2201 3278.1213 L 4107.2201 3278.1213 Q 4107.2201 3278.2613 4107.2601 3278.3813 Q 4107.3001 3278.5013 4107.3701 3278.5913 Q 4107.4501 3278.6913 4107.5701 3278.7613 Q 4107.6801 3278.8313 4107.8301 3278.8713 L 4107.8301 3278.8713 Q 4107.7101 3278.9113 4107.6301 3279.0113 Q 4107.5401 3279.1213 4107.4501 3279.2913 L 4107.4501 3279.2913 Z  M 4107.6201 3278.1513 L 4107.6201 3278.1513 Q 4107.6201 3277.9213 4107.7701 3277.8113 Q 4107.9101 3277.7013 4108.1701 3277.7013 L 4108.1701 3277.7013 L 4108.5401 3277.7013 L 4108.5401 3278.6413 L 4108.2301 3278.6413 Q 4108.0901 3278.6413 4107.9801 3278.6113 Q 4107.8701 3278.5813 4107.7901 3278.5213 Q 4107.7101 3278.4613 4107.6701 3278.3613 Q 4107.6201 3278.2713 4107.6201 3278.1513 Z  M 4104.6301 3277.3713 L 4104.6301 3277.7213 L 4105.8401 3280.2413 L 4106.2801 3280.2413 L 4105.0301 3277.7213 L 4106.5801 3277.7213 L 4106.5801 3277.3713 L 4104.6301 3277.3713 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4136.9285,3344.2969 4136.9285,3281.3069"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4136.9285,3344.2969 4129.0263,3344.2969"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4119.4479,3344.2969 4116.1671,3344.2969"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3344.2969 4116.1671,3332.0132"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3329.0132 4116.1671,3328.0762"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3325.0762 4116.1671,3324.1442"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3321.1342 4116.1671,3320.2012"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3317.2012 4116.1671,3316.2652"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3313.2652 4116.1671,3312.3282"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3309.3282 4116.1671,3308.3912"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3305.3912 4116.1671,3304.4532"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3301.4532 4116.1671,3300.5172"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3297.5172 4116.1671,3296.5802"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3293.5802 4116.1671,3281.3069"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4116.1671,3281.3069 4119.4661,3281.3069"},{"type":"polyline","net":"","start":[0,0],"end":[0,0],"width":1,"svgpath":"M4129.0081,3281.3069 4136.9285,3281.3069"},{"type":"text","svgpath":"M 4135.7779 3254.5037 L 4140.0734 3252.8674 M 4135.7779 3254.5037 L 4140.0734 3256.1401 M 4138.6416 3253.481 L 4138.6416 3255.5265 M 4135.7779 3257.4901 L 4140.0734 3257.4901 M 4135.7779 3257.4901 L 4135.7779 3260.1492 M 4137.8234 3257.4901 L 4137.8234 3259.1265 M 4135.7779 3263.1355 L 4140.0734 3261.4992 M 4135.7779 3263.1355 L 4140.0734 3264.7719 M 4138.6416 3262.1128 L 4138.6416 3264.1583 M 4135.7779 3267.3492 L 4135.9825 3266.7355 L 4136.5961 3266.3265 L 4137.6189 3266.1219 L 4138.2325 3266.1219 L 4139.2552 3266.3265 L 4139.8689 3266.7355 L 4140.0734 3267.3492 L 4140.0734 3267.7583 L 4139.8689 3268.3719 L 4139.2552 3268.781 L 4138.2325 3268.9855 L 4137.6189 3268.9855 L 4136.5961 3268.781 L 4135.9825 3268.3719 L 4135.7779 3267.7583 L 4135.7779 3267.3492 M 4136.5961 3270.3355 L 4136.3916 3270.7446 L 4135.7779 3271.3583 L 4140.0734 3271.3583 M 4138.2325 3272.7083 L 4138.2325 3276.3901 M 4136.3916 3280.6037 L 4135.9825 3280.1946 L 4135.7779 3279.581 L 4135.7779 3278.7628 L 4135.9825 3278.1492 L 4136.3916 3277.7401 L 4136.8007 3277.7401 L 4137.2098 3277.9446 L 4137.4143 3278.1492 L 4137.6189 3278.5583 L 4138.0279 3279.7855 L 4138.2325 3280.1946 L 4138.437 3280.3992 L 4138.8461 3280.6037 L 4139.4598 3280.6037 L 4139.8689 3280.1946 L 4140.0734 3279.581 L 4140.0734 3278.7628 L 4139.8689 3278.1492 L 4139.4598 3277.7401 M 4136.5961 3281.9537 L 4136.3916 3282.3628 L 4135.7779 3282.9765 L 4140.0734 3282.9765 M 4135.7779 3285.5537 L 4135.9825 3284.9401 L 4136.5961 3284.531 L 4137.6189 3284.3265 L 4138.2325 3284.3265 L 4139.2552 3284.531 L 4139.8689 3284.9401 L 4140.0734 3285.5537 L 4140.0734 3285.9628 L 4139.8689 3286.5765 L 4139.2552 3286.9855 L 4138.2325 3287.1901 L 4137.6189 3287.1901 L 4136.5961 3286.9855 L 4135.9825 3286.5765 L 4135.7779 3285.9628 L 4135.7779 3285.5537 M 4135.7779 3288.5401 L 4140.0734 3288.5401 M 4135.7779 3288.5401 L 4135.7779 3291.1992 M 4137.8234 3288.5401 L 4137.8234 3290.1765 M 4136.8007 3295.6174 L 4136.3916 3295.4128 L 4135.9825 3295.0037 L 4135.7779 3294.5946 L 4135.7779 3293.7765 L 4135.9825 3293.3674 L 4136.3916 3292.9583 L 4136.8007 3292.7537 L 4137.4143 3292.5492 L 4138.437 3292.5492 L 4139.0507 3292.7537 L 4139.4598 3292.9583 L 4139.8689 3293.3674 L 4140.0734 3293.7765 L 4140.0734 3294.5946 L 4139.8689 3295.0037 L 4139.4598 3295.4128 L 4139.0507 3295.6174 M 4135.7779 3298.6037 L 4140.0734 3296.9674 M 4135.7779 3298.6037 L 4140.0734 3300.2401 M 4138.6416 3297.581 L 4138.6416 3299.6265 M 4138.2325 3301.5901 L 4138.2325 3305.2719 M 4135.7779 3307.8492 L 4135.9825 3307.2355 L 4136.5961 3306.8265 L 4137.6189 3306.6219 L 4138.2325 3306.6219 L 4139.2552 3306.8265 L 4139.8689 3307.2355 L 4140.0734 3307.8492 L 4140.0734 3308.2583 L 4139.8689 3308.8719 L 4139.2552 3309.281 L 4138.2325 3309.4855 L 4137.6189 3309.4855 L 4136.5961 3309.281 L 4135.9825 3308.8719 L 4135.7779 3308.2583 L 4135.7779 3307.8492 M 4135.7779 3312.0628 L 4135.9825 3311.4492 L 4136.5961 3311.0401 L 4137.6189 3310.8355 L 4138.2325 3310.8355 L 4139.2552 3311.0401 L 4139.8689 3311.4492 L 4140.0734 3312.0628 L 4140.0734 3312.4719 L 4139.8689 3313.0855 L 4139.2552 3313.4946 L 4138.2325 3313.6992 L 4137.6189 3313.6992 L 4136.5961 3313.4946 L 4135.9825 3313.0855 L 4135.7779 3312.4719 L 4135.7779 3312.0628","useTrueTypeFontRendering":false,"thickness":0.6,"width":0.6,"net":"","val":1},{"type":"text","svgpath":"M 4123.4426 3275.2936 L 4123.4426 3275.6236 L 4124.6626 3275.6236 L 4124.6626 3276.5536 L 4123.5026 3276.5536 L 4123.5026 3276.8836 L 4124.6626 3276.8836 L 4124.6626 3278.1636 L 4125.0626 3278.1636 L 4125.0626 3275.2936 L 4123.4426 3275.2936 Z  M 4120.8026 3276.1736 L 4120.8026 3276.1736 Q 4120.8026 3276.3436 4120.8726 3276.5136 Q 4120.9326 3276.6936 4121.0726 3276.8236 Q 4121.2126 3276.9636 4121.4326 3277.0436 Q 4121.6426 3277.1336 4121.9426 3277.1336 L 4121.9426 3277.1336 L 4122.3026 3277.1336 L 4122.3026 3278.1636 L 4122.6926 3278.1636 L 4122.6926 3275.2936 L 4121.8826 3275.2936 Q 4121.6726 3275.2936 4121.4726 3275.3336 Q 4121.2726 3275.3836 4121.1326 3275.4936 Q 4120.9826 3275.5936 4120.8926 3275.7636 Q 4120.8026 3275.9336 4120.8026 3276.1736 Z  M 4121.2126 3276.1836 L 4121.2126 3276.1836 Q 4121.2126 3275.9136 4121.3926 3275.7636 Q 4121.5726 3275.6136 4121.9026 3275.6136 L 4121.9026 3275.6136 L 4122.3026 3275.6136 L 4122.3026 3276.7936 L 4121.9326 3276.7936 Q 4121.5826 3276.7936 4121.4026 3276.6436 Q 4121.2126 3276.4936 4121.2126 3276.1836 Z  M 4118.3726 3277.6836 L 4118.3726 3278.0536 Q 4118.7226 3278.1936 4119.1026 3278.1936 L 4119.1026 3278.1936 Q 4119.7126 3278.1936 4120.0326 3277.8336 Q 4120.3626 3277.4736 4120.3626 3276.7536 L 4120.3626 3276.7536 Q 4120.3626 3276.4136 4120.2726 3276.1336 Q 4120.1826 3275.8536 4120.0126 3275.6636 Q 4119.8426 3275.4636 4119.6126 3275.3636 Q 4119.3726 3275.2536 4119.0826 3275.2536 L 4119.0826 3275.2536 Q 4118.8826 3275.2536 4118.7026 3275.2936 Q 4118.5326 3275.3236 4118.3726 3275.3936 L 4118.3726 3275.3936 L 4118.3726 3275.7736 Q 4118.5326 3275.6936 4118.7026 3275.6436 Q 4118.8626 3275.6036 4119.0626 3275.6036 L 4119.0626 3275.6036 Q 4119.2626 3275.6036 4119.4326 3275.6736 Q 4119.5926 3275.7536 4119.7126 3275.8936 Q 4119.8226 3276.0436 4119.8826 3276.2536 Q 4119.9426 3276.4536 4119.9426 3276.7236 L 4119.9426 3276.7236 Q 4119.9426 3277.2836 4119.7226 3277.5636 Q 4119.4926 3277.8436 4119.0526 3277.8436 L 4119.0526 3277.8436 Q 4118.8726 3277.8436 4118.7026 3277.8036 Q 4118.5326 3277.7636 4118.3726 3277.6836 L 4118.3726 3277.6836 Z  M 4115.9026 3277.8036 L 4115.9026 3278.1636 L 4117.7026 3278.1636 L 4117.7026 3277.8036 L 4116.9626 3277.8036 L 4116.9626 3275.7136 L 4117.6526 3276.0836 L 4117.7926 3275.7536 L 4116.8826 3275.2736 L 4116.5426 3275.2736 L 4116.5426 3277.8036 L 4115.9026 3277.8036 Z ","useTrueTypeFontRendering":true,"thickness":0.6,"width":0.6,"net":"","ref":1}]},"fabrication":{"F":[],"B":[]}},"footprints":[{"ref":"C1","center":[4102.677,3125.406],"bbox":{"pos":[4102.677,3125.406],"angle":90,"relpos":[-5.472500004104404,-2.8166999999994005],"size":[11.006000008207593,5.612099999999373]},"pads":[{"layers":["B"],"pos":[4102.677,3128.162],"size":[3.1496,3.5433],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4102.677,"y":3128.1615},"polygon":[{"x":4100.9053,"y":3126.5871},{"x":4100.9053,"y":3129.7367},{"x":4104.4487,"y":3129.7367},{"x":4104.4487,"y":3126.5871}],"net":"LB"},{"layers":["B"],"pos":[4102.677,3122.65],"size":[3.1496,3.5433],"angle":-90,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4102.677,"y":3122.6505},"polygon":[{"x":4100.9053,"y":3121.0753},{"x":4100.9053,"y":3124.2249},{"x":4104.4487,"y":3124.2249},{"x":4104.4487,"y":3121.0753}],"net":"GND"}],"drawings":[],"layer":"B"},{"ref":"C2","center":[4061.7322,3148.2406],"bbox":{"pos":[4061.7322,3148.2406],"angle":90,"relpos":[-5.472500004104859,-2.816699999999855],"size":[11.006000008209867,5.612099999999828]},"pads":[{"layers":["B"],"pos":[4061.732,3150.997],"size":[3.1496,3.5433],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4061.7322,"y":3150.9961},"polygon":[{"x":4059.9605,"y":3149.4217},{"x":4059.9605,"y":3152.5713},{"x":4063.5039,"y":3152.5713},{"x":4063.5039,"y":3149.4217}],"net":"D-UP"},{"layers":["B"],"pos":[4061.732,3145.485],"size":[3.1496,3.5433],"angle":-90,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4061.7322,"y":3145.4851},"polygon":[{"x":4059.9605,"y":3143.9099},{"x":4059.9605,"y":3147.0595},{"x":4063.5039,"y":3147.0595},{"x":4063.5039,"y":3143.9099}],"net":"GND"}],"drawings":[],"layer":"B"},{"ref":"C3","center":[4105.8266,3246.6656],"bbox":{"pos":[4105.8266,3246.6656],"angle":0,"relpos":[-5.472500004105314,-2.816699999999855],"size":[11.006000008210322,5.612099999999828]},"pads":[{"layers":["B"],"pos":[4103.071,3246.666],"size":[3.1496,3.5433],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4103.0711,"y":3246.6656},"polygon":[{"x":4104.6455,"y":3244.8939},{"x":4101.4959,"y":3244.8939},{"x":4101.4959,"y":3248.4373},{"x":4104.6455,"y":3248.4373}],"net":"D-DOWN"},{"layers":["B"],"pos":[4108.583,3246.666],"size":[3.1496,3.5433],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4108.5821,"y":3246.6656},"polygon":[{"x":4110.1573,"y":3244.8939},{"x":4107.0077,"y":3244.8939},{"x":4107.0077,"y":3248.4373},{"x":4110.1573,"y":3248.4373}],"net":"GND"}],"drawings":[],"layer":"B"},{"ref":"C4","center":[4037.7165,3218.7129],"bbox":{"pos":[4037.7165,3218.7129],"angle":0,"relpos":[-5.472500004104859,-2.816699999999855],"size":[11.006000008209867,5.612100000000282]},"pads":[{"layers":["B"],"pos":[4034.961,3218.713],"size":[3.1496,3.5433],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4034.961,"y":3218.7129},"polygon":[{"x":4036.5354,"y":3216.9412},{"x":4033.3858,"y":3216.9412},{"x":4033.3858,"y":3220.4846},{"x":4036.5354,"y":3220.4846}],"net":"D-LEFT"},{"layers":["B"],"pos":[4040.472,3218.713],"size":[3.1496,3.5433],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4040.472,"y":3218.7129},"polygon":[{"x":4042.0472,"y":3216.9412},{"x":4038.8976,"y":3216.9412},{"x":4038.8976,"y":3220.4846},{"x":4042.0472,"y":3220.4846}],"net":"GND"}],"drawings":[],"layer":"B"},{"ref":"C5","center":[4127.8738,3177.7681],"bbox":{"pos":[4127.8738,3177.7681],"angle":180,"relpos":[-5.472500004103495,-2.8167000000007647],"size":[11.006000008208503,5.612100000000282]},"pads":[{"layers":["B"],"pos":[4130.63,3177.768],"size":[3.1496,3.5433],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4130.6293,"y":3177.7681},"polygon":[{"x":4129.0549,"y":3179.5398},{"x":4132.2045,"y":3179.5398},{"x":4132.2045,"y":3175.9964},{"x":4129.0549,"y":3175.9964}],"net":"D-RIGHT"},{"layers":["B"],"pos":[4125.118,3177.768],"size":[3.1496,3.5433],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4125.1183,"y":3177.7681},"polygon":[{"x":4123.5431,"y":3179.5398},{"x":4126.6927,"y":3179.5398},{"x":4126.6927,"y":3175.9964},{"x":4123.5431,"y":3175.9964}],"net":"GND"}],"drawings":[],"layer":"B"},{"ref":"C6","center":[4055.8267,3284.8545],"bbox":{"pos":[4055.8267,3284.8545],"angle":0,"relpos":[-5.472500004104404,-2.816699999999855],"size":[11.006000008209412,5.612099999999828]},"pads":[{"layers":["B"],"pos":[4053.071,3284.855],"size":[3.1496,3.5433],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4053.0712,"y":3284.8545},"polygon":[{"x":4054.6456,"y":3283.0828},{"x":4051.496,"y":3283.0828},{"x":4051.496,"y":3286.6262},{"x":4054.6456,"y":3286.6262}],"net":"SELECT"},{"layers":["B"],"pos":[4058.583,3284.855],"size":[3.1496,3.5433],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4058.5822,"y":3284.8545},"polygon":[{"x":4060.1574,"y":3283.0828},{"x":4057.0078,"y":3283.0828},{"x":4057.0078,"y":3286.6262},{"x":4060.1574,"y":3286.6262}],"net":"GND"}],"drawings":[],"layer":"B"},{"ref":"C7","center":[4097.5589,3284.8545],"bbox":{"pos":[4097.5589,3284.8545],"angle":0,"relpos":[-5.472500004105314,-2.816699999999855],"size":[11.00600000821214,5.612099999999828]},"pads":[{"layers":["B"],"pos":[4094.803,3284.855],"size":[3.1496,3.5433],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4094.8034,"y":3284.8545},"polygon":[{"x":4096.3778,"y":3283.0828},{"x":4093.2282,"y":3283.0828},{"x":4093.2282,"y":3286.6262},{"x":4096.3778,"y":3286.6262}],"net":"START"},{"layers":["B"],"pos":[4100.315,3284.855],"size":[3.1496,3.5433],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4100.3144,"y":3284.8545},"polygon":[{"x":4101.8896,"y":3283.0828},{"x":4098.74,"y":3283.0828},{"x":4098.74,"y":3286.6262},{"x":4101.8896,"y":3286.6262}],"net":"GND"}],"drawings":[],"layer":"B"},{"ref":"R1","center":[4109.7636,3125.0123],"bbox":{"pos":[4109.7636,3125.0123],"angle":270,"relpos":[-5.453099999999722,-2.6008000000006177],"size":[10.906200000000354,5.201600000000326]},"pads":[{"layers":["B"],"pos":[4109.764,3122.047],"size":[3.1751,3.4016],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4109.7636,"y":3122.0468},"polygon":[{"x":4108.0628,"y":3123.6343},{"x":4111.4644,"y":3123.6343},{"x":4111.4644,"y":3120.4592},{"x":4108.0628,"y":3120.4592}],"net":"3V3"},{"layers":["B"],"pos":[4109.764,3127.978],"size":[3.1751,3.4016],"angle":-270,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4109.7636,"y":3127.9778},"polygon":[{"x":4108.0628,"y":3126.3903},{"x":4111.4644,"y":3126.3903},{"x":4111.4644,"y":3129.5654},{"x":4108.0628,"y":3129.5654}],"net":"LB"}],"drawings":[],"layer":"B"},{"ref":"R2","center":[4054.2519,3148.2406],"bbox":{"pos":[4054.2519,3148.2406],"angle":270,"relpos":[-5.453100000000177,-2.600800000000163],"size":[10.906199999999899,5.201599999999871]},"pads":[{"layers":["B"],"pos":[4054.252,3145.275],"size":[3.1751,3.4016],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4054.2519,"y":3145.2751},"polygon":[{"x":4052.5511,"y":3146.8626},{"x":4055.9527,"y":3146.8626},{"x":4055.9527,"y":3143.6875},{"x":4052.5511,"y":3143.6875}],"net":"3V3"},{"layers":["B"],"pos":[4054.252,3151.206],"size":[3.1751,3.4016],"angle":-270,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4054.2519,"y":3151.2061},"polygon":[{"x":4052.5511,"y":3149.6186},{"x":4055.9527,"y":3149.6186},{"x":4055.9527,"y":3152.7937},{"x":4052.5511,"y":3152.7937}],"net":"D-UP"}],"drawings":[],"layer":"B"},{"ref":"R3","center":[4105.8266,3253.7522],"bbox":{"pos":[4105.8266,3253.7522],"angle":180,"relpos":[-5.453099999999722,-2.6007999999997082],"size":[10.906200000000354,5.201599999999871]},"pads":[{"layers":["B"],"pos":[4108.792,3253.752],"size":[3.1751,3.4016],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4108.7921,"y":3253.7522},"polygon":[{"x":4107.2046,"y":3252.0514},{"x":4107.2046,"y":3255.453},{"x":4110.3797,"y":3255.453},{"x":4110.3797,"y":3252.0514}],"net":"3V3"},{"layers":["B"],"pos":[4102.861,3253.752],"size":[3.1751,3.4016],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4102.8611,"y":3253.7522},"polygon":[{"x":4104.4486,"y":3252.0514},{"x":4104.4486,"y":3255.453},{"x":4101.2735,"y":3255.453},{"x":4101.2735,"y":3252.0514}],"net":"D-DOWN"}],"drawings":[],"layer":"B"},{"ref":"R4","center":[4037.7165,3225.7995],"bbox":{"pos":[4037.7165,3225.7995],"angle":180,"relpos":[-5.453099999999722,-2.6007999999992535],"size":[10.906200000000354,5.201599999999871]},"pads":[{"layers":["B"],"pos":[4040.682,3225.8],"size":[3.1751,3.4016],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4040.682,"y":3225.7995},"polygon":[{"x":4039.0945,"y":3224.0987},{"x":4039.0945,"y":3227.5003},{"x":4042.2696,"y":3227.5003},{"x":4042.2696,"y":3224.0987}],"net":"3V3"},{"layers":["B"],"pos":[4034.751,3225.8],"size":[3.1751,3.4016],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4034.751,"y":3225.7995},"polygon":[{"x":4036.3385,"y":3224.0987},{"x":4036.3385,"y":3227.5003},{"x":4033.1634,"y":3227.5003},{"x":4033.1634,"y":3224.0987}],"net":"D-LEFT"}],"drawings":[],"layer":"B"},{"ref":"R5","center":[4127.8738,3171.0752],"bbox":{"pos":[4127.8738,3171.0752],"angle":0,"relpos":[-5.4531000000006316,-2.600800000000163],"size":[10.906200000000354,5.201599999999871]},"pads":[{"layers":["B"],"pos":[4124.908,3171.075],"size":[3.1751,3.4016],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4124.9083,"y":3171.0752},"polygon":[{"x":4126.4958,"y":3172.776},{"x":4126.4958,"y":3169.3744},{"x":4123.3207,"y":3169.3744},{"x":4123.3207,"y":3172.776}],"net":"3V3"},{"layers":["B"],"pos":[4130.839,3171.075],"size":[3.1751,3.4016],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4130.8393,"y":3171.0752},"polygon":[{"x":4129.2518,"y":3172.776},{"x":4129.2518,"y":3169.3744},{"x":4132.4269,"y":3169.3744},{"x":4132.4269,"y":3172.776}],"net":"D-RIGHT"}],"drawings":[],"layer":"B"},{"ref":"R6","center":[4055.8267,3278.1616],"bbox":{"pos":[4055.8267,3278.1616],"angle":180,"relpos":[-5.453099999999267,-2.6008000000006177],"size":[10.906199999999899,5.201599999999871]},"pads":[{"layers":["B"],"pos":[4058.792,3278.162],"size":[3.1751,3.4016],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4058.7922,"y":3278.1616},"polygon":[{"x":4057.2047,"y":3276.4608},{"x":4057.2047,"y":3279.8624},{"x":4060.3798,"y":3279.8624},{"x":4060.3798,"y":3276.4608}],"net":"3V3"},{"layers":["B"],"pos":[4052.861,3278.162],"size":[3.1751,3.4016],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4052.8612,"y":3278.1616},"polygon":[{"x":4054.4487,"y":3276.4608},{"x":4054.4487,"y":3279.8624},{"x":4051.2736,"y":3279.8624},{"x":4051.2736,"y":3276.4608}],"net":"SELECT"}],"drawings":[],"layer":"B"},{"ref":"R7","center":[4097.9526,3278.1616],"bbox":{"pos":[4097.9526,3278.1616],"angle":180,"relpos":[-5.4531000000006316,-2.6008000000006177],"size":[10.906200000000354,5.201599999999871]},"pads":[{"layers":["B"],"pos":[4100.918,3278.162],"size":[3.1751,3.4016],"angle":-180,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4100.9181,"y":3278.1616},"polygon":[{"x":4099.3306,"y":3276.4608},{"x":4099.3306,"y":3279.8624},{"x":4102.5057,"y":3279.8624},{"x":4102.5057,"y":3276.4608}],"net":"3V3"},{"layers":["B"],"pos":[4094.987,3278.162],"size":[3.1751,3.4016],"angle":-180,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4094.9871,"y":3278.1616},"polygon":[{"x":4096.5746,"y":3276.4608},{"x":4096.5746,"y":3279.8624},{"x":4093.3995,"y":3279.8624},{"x":4093.3995,"y":3276.4608}],"net":"START"}],"drawings":[],"layer":"B"},{"ref":"FPC1","center":[4119.2124,3312.8072],"bbox":{"pos":[4119.2124,3312.8072],"angle":270,"relpos":[-31.500300000000152,-17.716099999999642],"size":[62.995800000000145,23.33204999999998]},"pads":[{"layers":["B"],"pos":[4114.187,3330.513],"size":[1.1811,4.9213],"angle":-270,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1871,"y":3330.5127},"polygon":[{"x":4116.6471,"y":3331.1032},{"x":4116.6471,"y":3329.9232},{"x":4111.7271,"y":3329.9232},{"x":4111.7271,"y":3331.1032}],"net":"GND"},{"layers":["B"],"pos":[4114.187,3326.576],"size":[1.1811,4.9213],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1871,"y":3326.5757},"polygon":[{"x":4116.6471,"y":3327.1662},{"x":4116.6471,"y":3325.9862},{"x":4111.7271,"y":3325.9862},{"x":4111.7271,"y":3327.1662}],"net":"GND"},{"layers":["B"],"pos":[4114.187,3322.639],"size":[1.1811,4.9213],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1871,"y":3322.6387},"polygon":[{"x":4116.6471,"y":3323.2342},{"x":4116.6471,"y":3322.0442},{"x":4111.7271,"y":3322.0442},{"x":4111.7271,"y":3323.2342}],"net":"D-UP"},{"layers":["B"],"pos":[4114.187,3318.701],"size":[1.1811,4.9213],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1871,"y":3318.7017},"polygon":[{"x":4116.6471,"y":3319.2912},{"x":4116.6471,"y":3318.1112},{"x":4111.7271,"y":3318.1112},{"x":4111.7271,"y":3319.2912}],"net":"D-DOWN"},{"layers":["B"],"pos":[4114.187,3314.765],"size":[1.1811,4.9213],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1871,"y":3314.7647},"polygon":[{"x":4116.6471,"y":3315.3552},{"x":4116.6471,"y":3314.1752},{"x":4111.7271,"y":3314.1752},{"x":4111.7271,"y":3315.3552}],"net":"D-LEFT"},{"layers":["B"],"pos":[4114.187,3310.828],"size":[1.1811,4.9213],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1871,"y":3310.8277},"polygon":[{"x":4116.6471,"y":3311.4182},{"x":4116.6471,"y":3310.2382},{"x":4111.7271,"y":3310.2382},{"x":4111.7271,"y":3311.4182}],"net":"D-RIGHT"},{"layers":["B"],"pos":[4114.187,3306.891],"size":[1.1811,4.9213],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1871,"y":3306.8907},"polygon":[{"x":4116.6471,"y":3307.4812},{"x":4116.6471,"y":3306.3012},{"x":4111.7271,"y":3306.3012},{"x":4111.7271,"y":3307.4812}],"net":"SELECT"},{"layers":["B"],"pos":[4114.187,3302.953],"size":[1.1811,4.9213],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1871,"y":3302.9537},"polygon":[{"x":4116.6471,"y":3303.5432},{"x":4116.6471,"y":3302.3632},{"x":4111.7271,"y":3302.3632},{"x":4111.7271,"y":3303.5432}],"net":"START"},{"layers":["B"],"pos":[4124.237,3285.642],"size":[7.0866,8.6614],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4124.2371,"y":3285.6425},"polygon":[{"x":4119.9071,"y":3282.097},{"x":4119.9071,"y":3289.187},{"x":4128.5671,"y":3289.187},{"x":4128.5671,"y":3282.097}],"net":""},{"layers":["B"],"pos":[4124.237,3339.972],"size":[7.0866,8.6614],"angle":-90,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4124.2371,"y":3339.9725},"polygon":[{"x":4119.9071,"y":3336.427},{"x":4119.9071,"y":3343.517},{"x":4128.5671,"y":3343.517},{"x":4128.5671,"y":3336.427}],"net":""},{"layers":["B"],"pos":[4114.197,3299.017],"size":[1.1811,4.9213],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1971,"y":3299.0167},"polygon":[{"x":4116.6571,"y":3299.6072},{"x":4116.6571,"y":3298.4272},{"x":4111.7371,"y":3298.4272},{"x":4111.7371,"y":3299.6072}],"net":"LB"},{"layers":["B"],"pos":[4114.197,3295.08],"size":[1.1811,4.9213],"angle":-270,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4114.1971,"y":3295.0797},"polygon":[{"x":4116.6571,"y":3295.6702},{"x":4116.6571,"y":3294.4902},{"x":4111.7371,"y":3294.4902},{"x":4111.7371,"y":3295.6702}],"net":"3V3"}],"drawings":[],"layer":"B"},{"ref":"SW5","center":[4051.4969,3198.6345],"bbox":{"pos":[4051.4969,3198.6345],"angle":180,"relpos":[-19.882400000000416,-15.500199999999495],"size":[39.76359999999977,31]},"pads":[{"layers":["F","B"],"pos":[4067.836,3207.493],"size":[7.0866,7.0866],"angle":-180,"pin1":1,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4067.8354,"y":3207.493},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4035.159,3207.493],"size":[7.0866,7.0866],"angle":-180,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4035.1582,"y":3207.493},"polygon":[],"net":"D-LEFT"},{"layers":["F","B"],"pos":[4067.836,3189.776],"size":[7.0866,7.0866],"angle":-180,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4067.8354,"y":3189.7765},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4035.159,3189.776],"size":[7.0866,7.0866],"angle":-180,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4035.1582,"y":3189.7765},"polygon":[],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"SW6","center":[4114.4889,3198.6345],"bbox":{"pos":[4114.4889,3198.6345],"angle":0,"relpos":[-19.882200000000466,-15.50019999999995],"size":[39.76359999999977,31]},"pads":[{"layers":["F","B"],"pos":[4098.15,3189.776],"size":[7.0866,7.0866],"angle":0,"pin1":1,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4098.1504,"y":3189.776},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4130.827,3189.776],"size":[7.0866,7.0866],"angle":0,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4130.8276,"y":3189.776},"polygon":[],"net":"D-RIGHT"},{"layers":["F","B"],"pos":[4098.15,3207.493],"size":[7.0866,7.0866],"angle":0,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4098.1504,"y":3207.4925},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4130.827,3207.493],"size":[7.0866,7.0866],"angle":0,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4130.8276,"y":3207.4925},"polygon":[],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"SW3","center":[4082.9929,3167.1385],"bbox":{"pos":[4082.9929,3167.1385],"angle":90,"relpos":[-19.881799999999657,-15.500200000000405],"size":[39.76359999999977,31]},"pads":[{"layers":["F","B"],"pos":[4074.134,3183.477],"size":[7.0866,7.0866],"angle":-90,"pin1":1,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4074.1344,"y":3183.477},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4074.134,3150.8],"size":[7.0866,7.0866],"angle":-90,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4074.1344,"y":3150.7998},"polygon":[],"net":"D-UP"},{"layers":["F","B"],"pos":[4091.851,3183.477],"size":[7.0866,7.0866],"angle":-90,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4091.8509,"y":3183.477},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4091.851,3150.8],"size":[7.0866,7.0866],"angle":-90,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4091.8509,"y":3150.7998},"polygon":[],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"SW4","center":[4082.9929,3230.1305],"bbox":{"pos":[4082.9929,3230.1305],"angle":270,"relpos":[-19.881800000000112,-15.500200000000405],"size":[39.763600000000224,31]},"pads":[{"layers":["F","B"],"pos":[4091.851,3213.792],"size":[7.0866,7.0866],"angle":-270,"pin1":1,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4091.8514,"y":3213.792},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4091.851,3246.469],"size":[7.0866,7.0866],"angle":-270,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4091.8514,"y":3246.4692},"polygon":[],"net":"D-DOWN"},{"layers":["F","B"],"pos":[4074.134,3213.792],"size":[7.0866,7.0866],"angle":-270,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4074.1349,"y":3213.792},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4074.134,3246.469],"size":[7.0866,7.0866],"angle":-270,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4074.1349,"y":3246.4692},"polygon":[],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"SW7","center":[4082.992,3133.28],"bbox":{"pos":[4082.992,3133.28],"angle":180,"relpos":[-17.7170000000001,-10.827000000000226],"size":[35.43299999999954,34.8427999999999]},"pads":[{"layers":["F","B"],"pos":[4074.135,3128.359],"size":[6.2992,6.2992],"angle":-270,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4074.1345,"y":3128.359},"polygon":[],"net":"GND"},{"layers":["F","B"],"pos":[4069.213,3138.201],"size":[7.874,7.874],"angle":-270,"shape":"oval","type":"th","drillsize":[5.1182,5.1182],"holeCenterPoint":{"x":4069.2125,"y":3138.201},"polygon":[],"net":""},{"layers":["F","B"],"pos":[4091.851,3128.359],"size":[6.2992,6.2992],"angle":-270,"pin1":1,"shape":"oval","type":"th","drillsize":[3.937,3.937],"holeCenterPoint":{"x":4091.8505,"y":3128.359},"polygon":[],"net":"LB"},{"layers":["F","B"],"pos":[4096.772,3138.201],"size":[7.874,7.874],"angle":-270,"shape":"oval","type":"th","drillsize":[5.1182,5.1182],"holeCenterPoint":{"x":4096.7715,"y":3138.201},"polygon":[],"net":""}],"drawings":[],"layer":"F"},{"ref":"SW1","center":[4062.1259,3315.9568],"bbox":{"pos":[4062.1259,3315.9568],"angle":0,"relpos":[-12.30789999999979,-22.807349999999587],"size":[24.61579999999958,45.615099999999984]},"pads":[{"layers":["F"],"pos":[4053.268,3334.237],"size":[5.5118,9.0551],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4053.2676,"y":3334.2371},"polygon":[{"x":4050.512,"y":3329.7091},{"x":4056.0238,"y":3329.7091},{"x":4056.0238,"y":3338.7643},{"x":4050.512,"y":3338.7643}],"net":""},{"layers":["F"],"pos":[4070.984,3334.237],"size":[5.5118,9.0551],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4070.9842,"y":3334.2371},"polygon":[{"x":4068.228,"y":3329.7091},{"x":4073.7398,"y":3329.7091},{"x":4073.7398,"y":3338.7643},{"x":4068.228,"y":3338.7643}],"net":""},{"layers":["F"],"pos":[4053.268,3297.677],"size":[5.5118,9.0551],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4053.2676,"y":3297.6765},"polygon":[{"x":4050.512,"y":3293.1493},{"x":4056.0238,"y":3293.1493},{"x":4056.0238,"y":3302.2045},{"x":4050.512,"y":3302.2045}],"net":"SELECT"},{"layers":["F"],"pos":[4070.984,3297.677],"size":[5.5118,9.0551],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4070.9842,"y":3297.6765},"polygon":[{"x":4068.228,"y":3293.1493},{"x":4073.7398,"y":3293.1493},{"x":4073.7398,"y":3302.2045},{"x":4068.228,"y":3302.2045}],"net":"GND"}],"drawings":[],"layer":"F"},{"ref":"SW2","center":[4103.86,3315.9568],"bbox":{"pos":[4103.86,3315.9568],"angle":0,"relpos":[-12.30789999999979,-22.807349999999587],"size":[24.61580000000049,45.615099999999984]},"pads":[{"layers":["F"],"pos":[4095.002,3334.237],"size":[5.5118,9.0551],"angle":0,"pin1":1,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4095.0017,"y":3334.2371},"polygon":[{"x":4092.2461,"y":3329.7091},{"x":4097.7579,"y":3329.7091},{"x":4097.7579,"y":3338.7643},{"x":4092.2461,"y":3338.7643}],"net":""},{"layers":["F"],"pos":[4112.718,3334.237],"size":[5.5118,9.0551],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4112.7183,"y":3334.2371},"polygon":[{"x":4109.9621,"y":3329.7091},{"x":4115.4739,"y":3329.7091},{"x":4115.4739,"y":3338.7643},{"x":4109.9621,"y":3338.7643}],"net":""},{"layers":["F"],"pos":[4095.002,3297.677],"size":[5.5118,9.0551],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4095.0017,"y":3297.6765},"polygon":[{"x":4092.2461,"y":3293.1493},{"x":4097.7579,"y":3293.1493},{"x":4097.7579,"y":3302.2045},{"x":4092.2461,"y":3302.2045}],"net":"START"},{"layers":["F"],"pos":[4112.718,3297.677],"size":[5.5118,9.0551],"angle":0,"shape":"rect","type":"smd","drillsize":[0,0],"holeCenterPoint":{"x":4112.7183,"y":3297.6765},"polygon":[{"x":4109.9621,"y":3293.1493},{"x":4115.4739,"y":3293.1493},{"x":4115.4739,"y":3302.2045},{"x":4109.9621,"y":3302.2045}],"net":"GND"}],"drawings":[],"layer":"F"}],"metadata":{"title":"PCB_GamePad_2","revision":"0","company":"Unknown Company","date":"2023-07-19"},"tracks":{"F":[{"type":"polyline","net":"D-UP","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4074.1337,3150.7995 4081.8109,3158.4767 4081.8109,3281.7049"},{"type":"polyline","net":"LB","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4091.851,3128.359 4084.1731,3136.0369 4084.1731,3299.017"},{"type":"polyline","net":"SELECT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4053.27,3297.68 4053.27,3306.9"},{"type":"polyline","net":"START","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4095,3297.68 4095,3302.96"},{"type":"polyline","net":"D-UP","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4081.8109,3322.639 4081.8109,3281.7049"},{"type":"polyline","net":"D-RIGHT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4130.83,3189.78 4121.97,3198.63 4094.41,3198.63 4086.14,3206.9 4086.14,3310.83"},{"type":"polyline","net":"D-LEFT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4035.16,3207.49 4044.02,3198.63 4071.57,3198.63 4079.84,3206.9 4079.84,3314.76"},{"type":"polyline","net":"D-DOWN","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4091.851,3246.469 4091.851,3252.7672 4088.5038,3256.1144 4088.5038,3318.701"},{"type":"polyline","net":"SELECT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4053.27,3297.68 4053.27,3290.76"},{"type":"polyline","net":"START","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4095,3297.68 4095,3290.76"},{"type":"polygon","svgpath":"M4034.93603,3203.95664L4038.69534,3207.7138L4038.78122,3204.29294L4038.35684,3203.8688Z","start":[0,0],"end":[0,0],"net":"D-LEFT"},{"type":"polygon","svgpath":"M4127.2907,3189.55566L4131.05071,3193.31212L4127.62992,3193.40059L4127.20546,3192.97653Z","start":[0,0],"end":[0,0],"net":"D-RIGHT"},{"type":"polygon","svgpath":"M4073.91221,3154.3364L4077.67037,3150.57809L4077.7573,3153.99892L4077.33304,3154.42319Z","start":[0,0],"end":[0,0],"net":"D-UP"},{"type":"polygon","svgpath":"M4094.50855,3248.81267L4089.1936,3248.81267L4091.55107,3251.29298L4092.15107,3251.29298Z","start":[0,0],"end":[0,0],"net":"D-DOWN"},{"type":"polygon","svgpath":"M4088.70766,3128.16165L4092.04831,3131.5023L4089.03114,3131.60308L4088.60688,3131.17882Z","start":[0,0],"end":[0,0],"net":"LB"},{"type":"polygon","svgpath":"M4083.4231,3298.35565L4084.9231,3298.35565L4084.4731,3297.65565L4083.8731,3297.65565Z","start":[0,0],"end":[0,0],"net":"LB"},{"type":"polygon","svgpath":"M4054.01901,3306.24174L4052.51902,3306.23959L4052.97002,3305.54023L4053.57002,3305.54109Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4095.751,3302.30257L4094.251,3302.30473L4094.7,3301.60408L4095.3,3301.60322Z","start":[0,0],"end":[0,0],"net":"START"},{"type":"polygon","svgpath":"M4086.89102,3310.16523L4085.39102,3310.16765L4085.83989,3309.46693L4086.43989,3309.46596Z","start":[0,0],"end":[0,0],"net":"D-RIGHT"},{"type":"polygon","svgpath":"M4080.59109,3314.10238L4079.09109,3314.10453L4079.54009,3313.40389L4080.14009,3313.40303Z","start":[0,0],"end":[0,0],"net":"D-LEFT"},{"type":"polygon","svgpath":"M4087.75391,3318.03949L4089.25391,3318.03949L4088.80391,3317.33949L4088.20391,3317.33949Z","start":[0,0],"end":[0,0],"net":"D-DOWN"},{"type":"polygon","svgpath":"M4082.56092,3321.97734L4081.06092,3321.97761L4081.51079,3321.27753L4082.11079,3321.27742Z","start":[0,0],"end":[0,0],"net":"D-UP"},{"type":"polygon","svgpath":"M4054.01901,3291.42037L4052.51902,3291.42252L4052.97002,3292.12188L4053.57002,3292.12102Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4095.751,3291.42252L4094.251,3291.42037L4094.7,3292.12102L4095.3,3292.12188Z","start":[0,0],"end":[0,0],"net":"START"},{"type":"polygon","svgpath":"M4053.81002,3302.20459L4052.73002,3302.20459L4052.97002,3303.10459L4053.57002,3303.10459Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4052.73002,3293.14941L4053.81002,3293.14941L4053.57002,3292.24941L4052.97002,3292.24941Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4095.54,3302.20459L4094.46,3302.20459L4094.7,3302.95996L4095.3,3302.95996Z","start":[0,0],"end":[0,0],"net":"START"},{"type":"polygon","svgpath":"M4094.46,3293.14941L4095.54,3293.14941L4095.3,3292.24941L4094.7,3292.24941Z","start":[0,0],"end":[0,0],"net":"START"},{"start":[4110.551,3353.752],"end":[4110.551,3353.752],"width":2,"net":"GND"},{"start":[4110.551,3361.626],"end":[4110.551,3361.626],"width":2,"net":"GND"},{"start":[4102.677,3361.626],"end":[4102.677,3361.626],"width":2,"net":"GND"},{"start":[4102.677,3353.752],"end":[4102.677,3353.752],"width":2,"net":"GND"},{"start":[4094.803,3361.626],"end":[4094.803,3361.626],"width":2,"net":"GND"},{"start":[4094.803,3353.752],"end":[4094.803,3353.752],"width":2,"net":"GND"},{"start":[4084.173,3299.017],"end":[4084.173,3299.017],"width":2,"net":"LB"},{"start":[4053.268,3306.902],"end":[4053.268,3306.902],"width":2,"net":"SELECT"},{"start":[4095.002,3302.965],"end":[4095.002,3302.965],"width":2,"net":"START"},{"start":[4086.142,3310.828],"end":[4086.142,3310.828],"width":2,"net":"D-RIGHT"},{"start":[4079.842,3314.765],"end":[4079.842,3314.765],"width":2,"net":"D-LEFT"},{"start":[4088.504,3318.701],"end":[4088.504,3318.701],"width":2,"net":"D-DOWN"},{"start":[4081.811,3322.639],"end":[4081.811,3322.639],"width":2,"net":"D-UP"},{"start":[4053.268,3290.76],"end":[4053.268,3290.76],"width":2,"net":"SELECT"},{"start":[4095.002,3290.76],"end":[4095.002,3290.76],"width":2,"net":"START"}],"B":[{"type":"polyline","net":"LB","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4114.2,3299.02 4084.17,3299.02"},{"type":"polyline","net":"SELECT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4053.27,3306.9 4114.19,3306.89"},{"type":"polyline","net":"START","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4095,3302.96 4114.19,3302.95"},{"type":"polyline","net":"D-RIGHT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4114.19,3310.83 4086.14,3310.83"},{"type":"polyline","net":"D-LEFT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4114.19,3314.76 4079.84,3314.76"},{"type":"polyline","net":"D-DOWN","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4114.19,3318.7 4088.5,3318.7"},{"type":"polyline","net":"D-UP","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4114.19,3322.64 4081.81,3322.64"},{"type":"polyline","net":"D-DOWN","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4102.86,3253.75 4103.07,3253.54 4103.07,3246.67"},{"type":"polyline","net":"D-LEFT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4034.75,3225.8 4034.96,3225.59 4034.96,3218.71"},{"type":"polyline","net":"LB","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4091.85,3128.36 4102.48,3128.36 4102.68,3128.16"},{"type":"polyline","net":"LB","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4102.68,3128.16 4109.58,3128.16 4109.76,3127.98"},{"type":"polyline","net":"D-UP","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4074.13,3150.8 4061.93,3150.8 4061.73,3151"},{"type":"polyline","net":"D-UP","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4061.73,3151 4054.46,3151 4054.25,3151.21"},{"type":"polyline","net":"D-LEFT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4035.16,3207.49 4035.16,3218.51 4034.96,3218.71"},{"type":"polyline","net":"D-DOWN","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4091.85,3246.47 4102.87,3246.47 4103.07,3246.67"},{"type":"polyline","net":"SELECT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4053.27,3290.76 4053.27,3285.05 4053.07,3284.85"},{"type":"polyline","net":"SELECT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4053.07,3284.85 4052.86,3284.65 4052.86,3278.16"},{"type":"polyline","net":"START","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4095,3290.76 4095,3285.05 4094.8,3284.85"},{"type":"polyline","net":"START","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4094.8,3284.85 4094.99,3284.67 4094.99,3278.16"},{"type":"polyline","net":"3V3","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4114.2,3295.08 4114.2,3285.74 4106.61,3278.16 4100.92,3278.16"},{"type":"polyline","net":"3V3","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4100.92,3278.16 4100.92,3269.29 4108.79,3261.42 4108.79,3253.75"},{"type":"polyline","net":"3V3","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4058.79,3278.16 4079.45,3278.16 4088.11,3269.5 4100.92,3269.5"},{"type":"polyline","net":"3V3","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4040.68,3225.8 4040.68,3250.42 4058.79,3268.53 4058.79,3278.16"},{"type":"polyline","net":"3V3","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4108.79,3253.75 4115.27,3253.75 4119.21,3249.82 4119.21,3174.62 4122.76,3171.07 4124.91,3171.07"},{"type":"polyline","net":"D-RIGHT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4130.83,3189.78 4130.83,3177.97 4130.63,3177.77"},{"type":"polyline","net":"D-RIGHT","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4130.63,3177.77 4130.84,3177.56 4130.84,3171.07"},{"type":"polyline","net":"3V3","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4109.76,3122.05 4114.67,3122.05 4124.91,3132.28 4124.91,3171.07"},{"type":"polyline","net":"3V3","start":[0,0],"end":[0,0],"width":0.6,"svgpath":"M4040.68,3225.8 4044.41,3225.8 4047.56,3222.65 4047.56,3148.63 4050.92,3145.27 4054.25,3145.27"},{"type":"polygon","svgpath":"M4037.81688,3209.83605L4032.50194,3209.83713L4034.85991,3212.31696L4035.45991,3212.31684Z","start":[0,0],"end":[0,0],"net":"D-LEFT"},{"type":"polygon","svgpath":"M4133.48605,3187.43382L4128.1711,3187.43059L4130.53008,3184.95172L4131.13008,3184.95208Z","start":[0,0],"end":[0,0],"net":"D-RIGHT"},{"type":"polygon","svgpath":"M4071.79036,3153.45752L4071.79036,3148.14257L4069.31005,3150.50005L4069.31005,3151.10005Z","start":[0,0],"end":[0,0],"net":"D-UP"},{"type":"polygon","svgpath":"M4094.19528,3243.81199L4094.19421,3249.12694L4096.675,3246.76997L4096.67512,3246.16997Z","start":[0,0],"end":[0,0],"net":"D-DOWN"},{"type":"polygon","svgpath":"M4093.93501,3125.99728L4093.93367,3130.72168L4096.13897,3128.66011L4096.13914,3128.06011Z","start":[0,0],"end":[0,0],"net":"LB"},{"type":"polygon","svgpath":"M4084.83615,3298.26851L4084.83292,3299.76851L4085.53388,3299.32002L4085.53518,3298.72002Z","start":[0,0],"end":[0,0],"net":"LB"},{"type":"polygon","svgpath":"M4053.93084,3307.65092L4053.92817,3306.15092L4054.62897,3306.59968L4054.63004,3307.19968Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4095.6666,3303.71224L4095.66017,3302.21226L4096.36209,3302.65925L4096.36466,3303.25925Z","start":[0,0],"end":[0,0],"net":"START"},{"type":"polygon","svgpath":"M4086.80474,3310.07895L4086.80232,3311.57895L4087.50304,3311.13008L4087.50401,3310.53008Z","start":[0,0],"end":[0,0],"net":"D-RIGHT"},{"type":"polygon","svgpath":"M4080.50616,3315.51252L4080.50078,3314.01253L4081.20239,3314.46001L4081.20455,3315.06001Z","start":[0,0],"end":[0,0],"net":"D-LEFT"},{"type":"polygon","svgpath":"M4089.16588,3319.45045L4089.16481,3317.95045L4089.86513,3318.39995L4089.86556,3318.99995Z","start":[0,0],"end":[0,0],"net":"D-DOWN"},{"type":"polygon","svgpath":"M4082.47301,3321.88939L4082.47193,3323.38939L4083.17226,3322.93989L4083.17269,3322.33989Z","start":[0,0],"end":[0,0],"net":"D-UP"},{"type":"polygon","svgpath":"M4054.01901,3290.09965L4052.51902,3290.0975L4052.97002,3289.39814L4053.57002,3289.399Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4095.751,3290.0975L4094.251,3290.09965L4094.7,3289.399L4095.3,3289.39814Z","start":[0,0],"end":[0,0],"net":"START"},{"type":"polygon","svgpath":"M4100.90527,3127.82011L4100.90527,3128.90011L4100.00527,3128.66011L4100.00527,3128.06011Z","start":[0,0],"end":[0,0],"net":"LB"},{"type":"polygon","svgpath":"M4104.44873,3128.69991L4104.44873,3127.61991L4105.34873,3127.85991L4105.34873,3128.45991Z","start":[0,0],"end":[0,0],"net":"LB"},{"type":"polygon","svgpath":"M4063.50391,3151.34005L4063.50391,3150.26005L4064.40391,3150.50005L4064.40391,3151.10005Z","start":[0,0],"end":[0,0],"net":"D-UP"},{"type":"polygon","svgpath":"M4059.96045,3150.46L4059.96045,3151.54L4059.06045,3151.3L4059.06045,3150.7Z","start":[0,0],"end":[0,0],"net":"D-UP"},{"type":"polygon","svgpath":"M4102.52982,3248.43726L4103.60982,3248.43726L4103.36982,3249.33726L4102.76982,3249.33726Z","start":[0,0],"end":[0,0],"net":"D-DOWN"},{"type":"polygon","svgpath":"M4101.49609,3245.92997L4101.49609,3247.00997L4100.59609,3246.76997L4100.59609,3246.16997Z","start":[0,0],"end":[0,0],"net":"D-DOWN"},{"type":"polygon","svgpath":"M4034.41996,3220.48462L4035.49996,3220.48462L4035.25996,3221.38462L4034.65996,3221.38462Z","start":[0,0],"end":[0,0],"net":"D-LEFT"},{"type":"polygon","svgpath":"M4035.69991,3216.94116L4034.61991,3216.94116L4034.85991,3216.04116L4035.45991,3216.04116Z","start":[0,0],"end":[0,0],"net":"D-LEFT"},{"type":"polygon","svgpath":"M4130.29008,3179.53979L4131.37008,3179.53979L4131.13008,3180.43979L4130.53008,3180.43979Z","start":[0,0],"end":[0,0],"net":"D-RIGHT"},{"type":"polygon","svgpath":"M4131.37984,3175.99634L4130.29984,3175.99634L4130.53984,3175.09634L4131.13984,3175.09634Z","start":[0,0],"end":[0,0],"net":"D-RIGHT"},{"type":"polygon","svgpath":"M4052.73002,3286.62622L4053.81002,3286.62622L4053.57002,3287.52622L4052.97002,3287.52622Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4053.40011,3283.08276L4052.32011,3283.08276L4052.56011,3282.18276L4053.16011,3282.18276Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4094.46,3286.62622L4095.54,3286.62622L4095.3,3287.52622L4094.7,3287.52622Z","start":[0,0],"end":[0,0],"net":"START"},{"type":"polygon","svgpath":"M4095.52999,3283.08276L4094.44999,3283.08276L4094.68999,3282.18276L4095.28999,3282.18276Z","start":[0,0],"end":[0,0],"net":"START"},{"type":"polygon","svgpath":"M4111.46436,3122.59005L4111.46436,3121.51005L4112.36436,3121.75005L4112.36436,3122.35005Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4108.06299,3128.69991L4108.06299,3127.61991L4107.16299,3127.85991L4107.16299,3128.45991Z","start":[0,0],"end":[0,0],"net":"LB"},{"type":"polygon","svgpath":"M4052.55103,3144.73002L4052.55103,3145.81002L4051.65103,3145.57002L4051.65103,3144.97002Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4055.95264,3150.46L4055.95264,3151.54L4056.85264,3151.3L4056.85264,3150.7Z","start":[0,0],"end":[0,0],"net":"D-UP"},{"type":"polygon","svgpath":"M4108.25004,3255.45288L4109.33004,3255.45288L4109.09004,3256.35288L4108.49004,3256.35288Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4110.37988,3254.29L4110.37988,3253.21L4111.27988,3253.45L4111.27988,3254.05Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4102.52982,3252.05151L4103.60982,3252.05151L4103.36982,3251.15151L4102.76982,3251.15151Z","start":[0,0],"end":[0,0],"net":"D-DOWN"},{"type":"polygon","svgpath":"M4040.13993,3227.50024L4041.21993,3227.50024L4040.97993,3228.40024L4040.37993,3228.40024Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4042.26953,3226.34005L4042.26953,3225.26005L4043.16953,3225.50005L4043.16953,3226.10005Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4034.41996,3224.09863L4035.49996,3224.09863L4035.25996,3223.19863L4034.65996,3223.19863Z","start":[0,0],"end":[0,0],"net":"D-LEFT"},{"type":"polygon","svgpath":"M4123.3208,3170.53007L4123.3208,3171.61007L4122.75977,3171.37007L4122.75977,3170.77007Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4125.45016,3169.37451L4124.37016,3169.37451L4124.61016,3168.47451L4125.21016,3168.47451Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4131.37984,3172.77588L4130.29984,3172.77588L4130.53984,3173.67588L4131.13984,3173.67588Z","start":[0,0],"end":[0,0],"net":"D-RIGHT"},{"type":"polygon","svgpath":"M4060.37988,3278.69991L4060.37988,3277.61991L4061.27988,3277.85991L4061.27988,3278.45991Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4059.33004,3276.46069L4058.25004,3276.46069L4058.49004,3275.56069L4059.09004,3275.56069Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4053.40011,3279.8623L4052.32011,3279.8623L4052.56011,3280.7623L4053.16011,3280.7623Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4102.50586,3278.69991L4102.50586,3277.61991L4103.40586,3277.85991L4103.40586,3278.45991Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4101.45992,3276.46069L4100.37992,3276.46069L4100.61992,3275.56069L4101.21992,3275.56069Z","start":[0,0],"end":[0,0],"net":"3V3"},{"type":"polygon","svgpath":"M4095.52999,3279.8623L4094.44999,3279.8623L4094.68999,3280.7623L4095.28999,3280.7623Z","start":[0,0],"end":[0,0],"net":"START"},{"type":"polygon","svgpath":"M4111.72705,3322.09989L4111.72705,3323.17989L4110.82705,3322.93989L4110.82705,3322.33989Z","start":[0,0],"end":[0,0],"net":"D-UP"},{"type":"polygon","svgpath":"M4111.72705,3318.15995L4111.72705,3319.23995L4110.82705,3318.99995L4110.82705,3318.39995Z","start":[0,0],"end":[0,0],"net":"D-DOWN"},{"type":"polygon","svgpath":"M4111.72705,3314.22001L4111.72705,3315.30001L4110.82705,3315.06001L4110.82705,3314.46001Z","start":[0,0],"end":[0,0],"net":"D-LEFT"},{"type":"polygon","svgpath":"M4111.72705,3310.29008L4111.72705,3311.37008L4110.82705,3311.13008L4110.82705,3310.53008Z","start":[0,0],"end":[0,0],"net":"D-RIGHT"},{"type":"polygon","svgpath":"M4111.72705,3306.3503L4111.72705,3307.4303L4110.82705,3307.19045L4110.82705,3306.59045Z","start":[0,0],"end":[0,0],"net":"SELECT"},{"type":"polygon","svgpath":"M4111.72705,3302.41124L4111.72705,3303.49124L4110.82705,3303.25171L4110.82705,3302.65171Z","start":[0,0],"end":[0,0],"net":"START"},{"type":"polygon","svgpath":"M4111.7373,3298.48002L4111.7373,3299.56002L4110.8373,3299.32002L4110.8373,3298.72002Z","start":[0,0],"end":[0,0],"net":"LB"},{"type":"polygon","svgpath":"M4114.7402,3294.49023L4113.6602,3294.49023L4113.9002,3293.59023L4114.5002,3293.59023Z","start":[0,0],"end":[0,0],"net":"3V3"},{"start":[4110.551,3353.752],"end":[4110.551,3353.752],"width":2,"net":"GND"},{"start":[4110.551,3361.626],"end":[4110.551,3361.626],"width":2,"net":"GND"},{"start":[4102.677,3361.626],"end":[4102.677,3361.626],"width":2,"net":"GND"},{"start":[4102.677,3353.752],"end":[4102.677,3353.752],"width":2,"net":"GND"},{"start":[4094.803,3361.626],"end":[4094.803,3361.626],"width":2,"net":"GND"},{"start":[4094.803,3353.752],"end":[4094.803,3353.752],"width":2,"net":"GND"},{"start":[4084.173,3299.017],"end":[4084.173,3299.017],"width":2,"net":"LB"},{"start":[4053.268,3306.902],"end":[4053.268,3306.902],"width":2,"net":"SELECT"},{"start":[4095.002,3302.965],"end":[4095.002,3302.965],"width":2,"net":"START"},{"start":[4086.142,3310.828],"end":[4086.142,3310.828],"width":2,"net":"D-RIGHT"},{"start":[4079.842,3314.765],"end":[4079.842,3314.765],"width":2,"net":"D-LEFT"},{"start":[4088.504,3318.701],"end":[4088.504,3318.701],"width":2,"net":"D-DOWN"},{"start":[4081.811,3322.639],"end":[4081.811,3322.639],"width":2,"net":"D-UP"},{"start":[4053.268,3290.76],"end":[4053.268,3290.76],"width":2,"net":"SELECT"},{"start":[4095.002,3290.76],"end":[4095.002,3290.76],"width":2,"net":"START"}]},"zones":{"F":[{"net":"GND","svgpath":"M 4051.503 3368.47988 L 4049.99084 3368.44228 4048.49911 3368.33176 4047.01461 3368.14818 4045.5409 3367.89197 4044.08154 3367.56377 4042.64005 3367.16435 4041.21988 3366.69469 4039.82447 3366.1559 4038.45718 3365.5493 4037.12131 3364.87633 4035.82006 3364.13863 4034.55658 3363.33797 4033.3339 3362.47628 4032.15498 3361.55563 4031.02265 3360.57824 4029.93965 3359.54647 4028.90858 3358.4628 4027.93192 3357.32984 4027.01203 3356.15033 4026.15112 3354.9271 4025.35127 3353.6631 4024.61441 3352.36138 4023.94231 3351.02507 4023.33658 3349.65739 4022.7987 3348.26163 4022.32995 3346.84117 4021.93146 3345.39941 4021.6042 3343.93984 4021.34894 3342.46597 4021.16632 3340.98135 4021.05676 3339.48954 4021.0199 3337.98697 4021.0199 3133.29703 4021.05772 3131.77488 4021.16824 3130.28311 4021.35182 3128.79861 4021.60803 3127.3249 4021.93623 3125.86554 4022.33565 3124.42405 4022.80531 3123.00388 4023.3441 3121.60847 4023.9507 3120.24118 4024.62367 3118.90531 4025.36137 3117.60406 4026.16203 3116.34058 4027.02372 3115.1179 4027.94437 3113.93898 4028.92176 3112.80665 4029.95353 3111.72365 4031.0372 3110.69258 4032.17016 3109.71592 4033.34967 3108.79603 4034.5729 3107.93512 4035.8369 3107.13527 4037.13862 3106.39841 4038.47493 3105.72631 4039.84261 3105.12058 4041.23837 3104.5827 4042.65883 3104.11395 4044.10059 3103.71546 4045.56016 3103.3882 4047.03403 3103.13294 4048.51865 3102.95032 4050.01041 3102.84077 4051.51273 3102.8042 4126.27173 3102.8039 4127.16114 3102.83985 4128.00238 3102.94066 4128.83306 3103.10715 4129.64812 3103.3383 4130.44252 3103.63269 4131.21138 3103.98849 4131.94996 3104.40353 4132.65369 3104.87523 4133.31825 3105.4007 4133.93953 3105.97668 4134.5137 3106.59963 4135.03723 3107.26572 4135.50688 3107.97082 4135.91976 3108.7106 4136.27333 3109.48049 4136.56541 3110.27575 4136.79418 3111.09148 4136.95825 3111.92264 4137.05659 3112.76405 4137.0898 3113.62166 4137.0898 3357.66215 4137.05412 3358.55135 4136.95334 3359.39238 4136.78685 3360.22306 4136.5557 3361.03812 4136.26131 3361.83252 4135.90551 3362.60138 4135.49047 3363.33996 4135.01877 3364.04369 4134.4933 3364.70825 4133.91732 3365.32953 4133.29437 3365.9037 4132.62828 3366.42723 4131.92318 3366.89688 4131.1834 3367.30976 4130.41351 3367.66333 4129.61825 3367.95541 4128.80252 3368.18418 4127.97136 3368.34825 4127.12989 3368.44661 4126.27181 3368.48 4051.503 3368.47988 Z M 4081.72045 3324.65535 L 4082.08193 3324.63912 4082.43471 3324.5586 4082.76745 3324.41638 4083.06944 3324.21704 4083.33099 3323.96697 4083.54368 3323.67423 4083.70068 3323.34821 4083.79695 3322.9994 4083.82938 3322.639 4083.79695 3322.2786 4083.70068 3321.92979 4083.54252 3321.60136 4083.41882 3321.42561 4083.19447 3321.07676 4083.14712 3320.97315 4083.1309 3320.86039 4083.1309 3301.34266 4083.15899 3301.19541 4083.23931 3301.06885 4083.36059 3300.98073 4083.50578 3300.94345 4083.65451 3300.96224 4083.72387 3300.98478 4084.08245 3301.03335 4084.40205 3301.019 4084.56055 3301.0441 4084.69643 3301.12948 4084.78781 3301.26138 4084.82 3301.41859 4084.82 3309.05094 4084.80388 3309.16335 4084.75682 3309.2667 4084.50909 3309.64162 4084.3235 3309.95226 4084.19635 3310.29104 4084.13174 3310.64707 4084.13174 3311.00893 4084.19635 3311.36496 4084.3235 3311.70374 4084.50909 3312.01438 4084.74717 3312.28688 4085.03008 3312.51249 4085.34872 3312.68396 4085.69287 3312.79578 4086.05145 3312.84435 4086.41293 3312.82812 4086.69479 3312.76378 4086.83749 3312.75738 4086.97335 3312.80152 4087.08503 3312.89058 4087.15829 3313.01321 4087.1838 3313.15376 4087.1838 3316.9226 4087.16759 3317.03532 4087.12027 3317.13891 4086.87109 3317.51462 4086.6855 3317.82526 4086.55835 3318.16404 4086.49374 3318.52007 4086.49374 3318.88193 4086.55835 3319.23796 4086.6855 3319.57674 4086.87109 3319.88738 4087.10917 3320.15988 4087.39208 3320.38549 4087.71072 3320.55696 4088.05487 3320.66878 4088.41345 3320.71735 4088.77493 3320.70112 4089.12771 3320.6206 4089.46045 3320.47838 4089.76244 3320.27904 4090.02399 3320.02897 4090.23668 3319.73623 4090.39368 3319.41021 4090.48995 3319.0614 4090.52238 3318.701 4090.48995 3318.3406 4090.39368 3317.99179 4090.23556 3317.66345 4090.11191 3317.48792 4089.88733 3317.13857 4089.84001 3317.03498 4089.8238 3316.92226 4089.8238 3256.82685 4089.85425 3256.67377 4089.94096 3256.544 4092.76956 3253.7154 4092.9562 3253.48492 4093.08127 3253.23946 4093.15394 3252.96824 4093.171 3252.75148 4093.171 3251.86023 4093.19954 3251.71186 4093.28107 3251.58466 4095.24201 3249.52155 4095.36257 3249.38338 4095.70365 3248.91391 4095.97968 3248.41182 4096.1906 3247.87909 4096.33309 3247.32413 4096.40491 3246.75568 4096.40491 3246.18272 4096.33309 3245.61427 4096.1906 3245.05931 4095.97968 3244.52658 4095.70365 3244.02449 4095.36687 3243.56095 4094.97465 3243.14327 4094.53318 3242.77805 4094.04941 3242.47104 4093.53097 3242.22709 4092.98605 3242.05003 4092.42323 3241.94267 4091.8514 3241.90669 4091.27957 3241.94267 4090.71675 3242.05003 4090.17183 3242.22709 4089.65339 3242.47104 4089.16962 3242.77805 4088.72815 3243.14327 4088.33593 3243.56095 4088.18361 3243.7706 4088.06 3243.88189 4087.90181 3243.93329 4087.73639 3243.91591 4087.59235 3243.83274 4087.49458 3243.69818 4087.46 3243.53548 4087.46 3216.72572 4087.49458 3216.56302 4087.59235 3216.42846 4087.73639 3216.34529 4087.90181 3216.32791 4088.06 3216.37931 4088.18361 3216.4906 4088.33593 3216.70025 4088.72815 3217.11793 4089.16962 3217.48315 4089.65339 3217.79016 4090.17183 3218.03411 4090.71675 3218.21117 4091.27957 3218.31853 4091.8514 3218.35451 4092.42323 3218.31853 4092.98605 3218.21117 4093.53097 3218.03411 4094.04941 3217.79016 4094.53318 3217.48315 4094.97465 3217.11793 4095.36687 3216.70025 4095.70365 3216.23671 4095.97968 3215.73462 4096.1906 3215.20189 4096.33309 3214.64693 4096.40491 3214.07848 4096.40491 3213.50552 4096.33309 3212.93707 4096.1906 3212.38211 4096.14215 3212.17918 4096.17338 3212.02837 4096.25929 3211.90053 4096.38712 3211.81463 4096.53794 3211.78339 4096.74051 3211.8317 4097.29547 3211.97419 4097.86392 3212.04601 4098.43688 3212.04601 4099.00533 3211.97419 4099.56029 3211.8317 4100.09302 3211.62078 4100.59511 3211.34475 4101.05865 3211.00797 4101.47633 3210.61575 4101.84155 3210.17428 4102.14856 3209.69051 4102.39251 3209.17207 4102.56957 3208.62715 4102.67693 3208.06433 4102.71291 3207.4925 4102.67693 3206.92067 4102.56957 3206.35785 4102.39251 3205.81293 4102.14856 3205.29449 4101.84155 3204.81072 4101.47633 3204.36925 4101.05865 3203.97703 4100.59511 3203.64025 4100.09302 3203.36422 4099.56029 3203.1533 4099.00533 3203.01081 4098.43688 3202.93899 4097.86392 3202.93899 4097.29547 3203.01081 4096.74051 3203.1533 4096.20778 3203.36422 4095.70569 3203.64025 4095.24215 3203.97703 4094.82447 3204.36925 4094.45925 3204.81072 4094.15224 3205.29449 4093.90829 3205.81293 4093.73123 3206.35785 4093.62387 3206.92067 4093.58789 3207.4925 4093.62387 3208.06433 4093.73123 3208.62715 4093.84748 3208.98493 4093.8639 3209.15867 4093.80479 3209.32286 4093.68139 3209.44627 4093.51719 3209.50538 4093.34345 3209.48896 4092.98605 3209.37283 4092.42323 3209.26547 4091.8514 3209.22949 4091.27957 3209.26547 4090.71675 3209.37283 4090.17183 3209.54989 4089.65339 3209.79384 4089.16962 3210.10085 4088.72815 3210.46607 4088.33593 3210.88375 4088.18361 3211.0934 4088.06 3211.20469 4087.90181 3211.25609 4087.73639 3211.23871 4087.59235 3211.15554 4087.49458 3211.02098 4087.46 3210.85828 4087.46 3207.61245 4087.49045 3207.45937 4087.57716 3207.3296 4094.8396 3200.06716 4094.96937 3199.98045 4095.12245 3199.95 4121.94904 3199.95 4122.24399 3199.919 4122.506 3199.83387 4122.74921 3199.69345 4122.91393 3199.55284 4127.94998 3194.52247 4128.07493 3194.43789 4128.22233 3194.40561 4131.06299 3194.33214 4131.68253 3194.25769 4132.23749 3194.1152 4132.77022 3193.90428 4133.27231 3193.62825 4133.73585 3193.29147 4134.15353 3192.89925 4134.51875 3192.45778 4134.82576 3191.97401 4135.06971 3191.45557 4135.24677 3190.91065 4135.35413 3190.34783 4135.39011 3189.776 4135.35413 3189.20417 4135.24677 3188.64135 4135.06971 3188.09643 4134.82576 3187.57799 4134.51875 3187.09422 4134.15353 3186.65275 4133.73585 3186.26053 4133.27231 3185.92375 4132.77022 3185.64772 4132.23749 3185.4368 4131.68253 3185.29431 4131.11408 3185.22249 4130.54112 3185.22249 4129.97267 3185.29431 4129.41771 3185.4368 4128.88498 3185.64772 4128.38289 3185.92375 4127.91935 3186.26053 4127.50167 3186.65275 4127.13645 3187.09422 4126.82944 3187.57799 4126.58549 3188.09643 4126.40843 3188.64135 4126.30107 3189.20417 4126.27046 3189.55271 4126.19993 3192.38316 4126.16762 3192.53096 4126.08274 3192.6562 4121.5408 3197.193 4121.41109 3197.2796 4121.25812 3197.31 4094.43096 3197.31 4094.13601 3197.341 4093.874 3197.42613 4093.63084 3197.56652 4093.46551 3197.70773 4086.17594 3204.9973 4086.04617 3205.084 4085.8931 3205.11445 4085.74003 3205.084 4085.61026 3204.9973 4085.52355 3204.86753 4085.4931 3204.71445 4085.4931 3136.74935 4085.52355 3136.59627 4085.61026 3136.4665 4089.35603 3132.72073 4089.47965 3132.63663 4089.62552 3132.6038 4092.07087 3132.52212 4092.38963 3132.49307 4092.92945 3132.3857 4093.44581 3132.21042 4093.93487 3131.96924 4094.38827 3131.66629 4094.79825 3131.30675 4095.15779 3130.89677 4095.46074 3130.44337 4095.70192 3129.95431 4095.8772 3129.43795 4095.98358 3128.90313 4096.01924 3128.359 4095.98358 3127.81487 4095.8772 3127.28005 4095.70192 3126.76369 4095.46074 3126.27463 4095.15779 3125.82123 4094.79825 3125.41125 4094.38827 3125.05171 4093.93487 3124.74876 4093.44581 3124.50758 4092.92945 3124.3323 4092.39463 3124.22592 4091.8505 3124.19026 4091.30637 3124.22592 4090.77155 3124.3323 4090.25519 3124.50758 4089.76613 3124.74876 4089.31273 3125.05171 4088.90275 3125.41125 4088.54321 3125.82123 4088.24026 3126.27463 4087.99908 3126.76369 4087.8238 3127.28005 4087.71742 3127.81487 4087.68748 3128.15005 4087.60616 3130.58452 4087.57333 3130.73039 4087.48923 3130.85401 4083.25454 3135.0887 4083.0679 3135.31918 4082.94283 3135.56464 4082.87016 3135.83586 4082.8531 3136.05262 4082.8531 3156.68645 4082.82265 3156.83953 4082.73594 3156.9693 4082.60617 3157.056 4082.4531 3157.08645 4082.30003 3157.056 4082.17026 3156.9693 4078.87959 3153.67863 4078.79485 3153.55354 4078.76256 3153.40595 4078.69038 3150.5657 4078.67871 3150.44056 4078.61609 3149.94487 4078.4736 3149.38991 4078.26268 3148.85718 4077.98665 3148.35509 4077.64987 3147.89155 4077.25765 3147.47387 4076.81618 3147.10865 4076.33241 3146.80164 4075.81397 3146.55769 4075.26905 3146.38063 4074.70623 3146.27327 4074.1344 3146.23729 4073.56257 3146.27327 4072.99975 3146.38063 4072.45483 3146.55769 4071.93639 3146.80164 4071.45262 3147.10865 4071.01115 3147.47387 4070.61893 3147.89155 4070.28215 3148.35509 4070.00612 3148.85718 4069.7952 3149.38991 4069.65271 3149.94487 4069.58089 3150.51332 4069.58089 3151.08628 4069.65271 3151.65473 4069.7952 3152.20969 4070.00612 3152.74242 4070.28215 3153.24451 4070.61893 3153.70805 4071.01115 3154.12573 4071.45262 3154.49095 4071.93639 3154.79796 4072.45483 3155.04191 4072.99975 3155.21897 4073.56257 3155.32633 4073.9088 3155.35664 4076.74025 3155.42848 4076.88785 3155.46077 4077.01295 3155.54551 4080.37374 3158.9063 4080.46045 3159.03607 4080.4909 3159.18915 4080.4909 3204.71845 4080.46045 3204.87153 4080.37374 3205.0013 4080.24397 3205.088 4080.0909 3205.11845 4079.93783 3205.088 4079.80806 3205.0013 4072.5182 3197.71144 4072.28772 3197.5248 4072.04226 3197.39973 4071.77104 3197.32706 4071.55428 3197.31 4044.04096 3197.31 4043.74601 3197.341 4043.484 3197.42613 4043.24084 3197.56652 4043.07551 3197.70773 4038.03658 3202.74666 4037.91154 3202.83138 4037.764 3202.86369 4034.92415 3202.93661 4034.30327 3203.01131 4033.74831 3203.1538 4033.21558 3203.36472 4032.71349 3203.64075 4032.24995 3203.97753 4031.83227 3204.36975 4031.46705 3204.81122 4031.16004 3205.29499 4030.91609 3205.81343 4030.73903 3206.35835 4030.63167 3206.92117 4030.59569 3207.493 4030.63167 3208.06483 4030.73903 3208.62765 4030.91609 3209.17257 4031.16004 3209.69101 4031.46705 3210.17478 4031.83227 3210.61625 4032.24995 3211.00847 4032.71349 3211.34525 4033.21558 3211.62128 4033.74831 3211.8322 4034.30327 3211.97469 4034.87172 3212.04651 4035.44468 3212.04651 4036.01313 3211.97469 4036.56809 3211.8322 4037.10082 3211.62128 4037.60291 3211.34525 4038.06645 3211.00847 4038.48413 3210.61625 4038.84935 3210.17478 4039.15636 3209.69101 4039.40031 3209.17257 4039.57737 3208.62765 4039.68473 3208.06483 4039.71558 3207.71694 4039.78666 3204.88588 4039.81893 3204.73822 4039.90369 3204.61307 4044.4496 3200.06716 4044.57937 3199.98045 4044.73245 3199.95 4070.85755 3199.95 4071.01063 3199.98045 4071.1404 3200.06716 4078.40284 3207.3296 4078.48955 3207.45937 4078.52 3207.61245 4078.52 3210.84961 4078.48542 3211.01231 4078.38765 3211.14687 4078.24361 3211.23003 4078.07819 3211.24742 4077.92 3211.19602 4077.79639 3211.08473 4077.65037 3210.88375 4077.25815 3210.46607 4076.81668 3210.10085 4076.33291 3209.79384 4075.81447 3209.54989 4075.26955 3209.37283 4074.70673 3209.26547 4074.1349 3209.22949 4073.56307 3209.26547 4073.00025 3209.37283 4072.64247 3209.48908 4072.46873 3209.5055 4072.30454 3209.44639 4072.18113 3209.32299 4072.12202 3209.15879 4072.13844 3208.98505 4072.25457 3208.62765 4072.36193 3208.06483 4072.39791 3207.493 4072.36193 3206.92117 4072.25457 3206.35835 4072.07751 3205.81343 4071.83356 3205.29499 4071.52655 3204.81122 4071.16133 3204.36975 4070.74365 3203.97753 4070.28011 3203.64075 4069.77802 3203.36472 4069.24529 3203.1538 4068.69033 3203.01131 4068.12188 3202.93949 4067.54892 3202.93949 4066.98047 3203.01131 4066.42551 3203.1538 4065.89278 3203.36472 4065.39069 3203.64075 4064.92715 3203.97753 4064.50947 3204.36975 4064.14425 3204.81122 4063.83724 3205.29499 4063.59329 3205.81343 4063.41623 3206.35835 4063.30887 3206.92117 4063.27289 3207.493 4063.30887 3208.06483 4063.41623 3208.62765 4063.59329 3209.17257 4063.83724 3209.69101 4064.14425 3210.17478 4064.50947 3210.61625 4064.92715 3211.00847 4065.39069 3211.34525 4065.89278 3211.62128 4066.42551 3211.8322 4066.98047 3211.97469 4067.54892 3212.04651 4068.12188 3212.04651 4068.69033 3211.97469 4069.24529 3211.8322 4069.44822 3211.78375 4069.59903 3211.81498 4069.72687 3211.90089 4069.81277 3212.02872 4069.84401 3212.17954 4069.7957 3212.38211 4069.65321 3212.93707 4069.58139 3213.50552 4069.58139 3214.07848 4069.65321 3214.64693 4069.7957 3215.20189 4070.00662 3215.73462 4070.28265 3216.23671 4070.61943 3216.70025 4071.01165 3217.11793 4071.45312 3217.48315 4071.93689 3217.79016 4072.45533 3218.03411 4073.00025 3218.21117 4073.56307 3218.31853 4074.1349 3218.35451 4074.70673 3218.31853 4075.26955 3218.21117 4075.81447 3218.03411 4076.33291 3217.79016 4076.81668 3217.48315 4077.25815 3217.11793 4077.65037 3216.70025 4077.79639 3216.49927 4077.92 3216.38798 4078.07819 3216.33658 4078.24361 3216.35397 4078.38765 3216.43713 4078.48542 3216.57169 4078.52 3216.73439 4078.52 3243.52681 4078.48542 3243.68951 4078.38765 3243.82407 4078.24361 3243.90723 4078.07819 3243.92462 4077.92 3243.87322 4077.79639 3243.76193 4077.65037 3243.56095 4077.25815 3243.14327 4076.81668 3242.77805 4076.33291 3242.47104 4076.15655 3242.38806 4076.15655 3244.44755 4078.12 3244.44755 4078.27307 3244.478 4078.40284 3244.56471 4078.48955 3244.69448 4078.52 3244.84755 4078.52 3248.09085 4078.48955 3248.24392 4078.40284 3248.37369 4078.27307 3248.4604 4078.12 3248.49085 4076.15655 3248.49085 4076.15655 3250.55034 4076.33291 3250.46736 4076.81668 3250.16035 4077.25815 3249.79513 4077.65037 3249.37745 4077.79639 3249.17647 4077.92 3249.06518 4078.07819 3249.01378 4078.24361 3249.03117 4078.38765 3249.11433 4078.48542 3249.24889 4078.52 3249.41159 4078.52 3312.98807 4078.50387 3313.10052 4078.45678 3313.2039 4078.20909 3313.57862 4078.0235 3313.88926 4077.89635 3314.22804 4077.83174 3314.58407 4077.83174 3314.94593 4077.89635 3315.30196 4078.0235 3315.64074 4078.20909 3315.95138 4078.44717 3316.22388 4078.73008 3316.44949 4079.04872 3316.62096 4079.39287 3316.73278 4079.75145 3316.78135 4080.07295 3316.76691 4080.23145 3316.79202 4080.36733 3316.87739 4080.45871 3317.0093 4080.4909 3317.16651 4080.4909 3320.86044 4080.4747 3320.97313 4080.42741 3321.07668 4080.17809 3321.45262 4079.9925 3321.76326 4079.86535 3322.10204 4079.80074 3322.45807 4079.80074 3322.81993 4079.86535 3323.17596 4079.9925 3323.51474 4080.17809 3323.82538 4080.41617 3324.09788 4080.69908 3324.32349 4081.01772 3324.49496 4081.36187 3324.60678 4081.72045 3324.65535 Z M 4097.29547 3194.25769 L 4097.86392 3194.32951 4098.43688 3194.32951 4099.00533 3194.25769 4099.56029 3194.1152 4100.09302 3193.90428 4100.59511 3193.62825 4101.05865 3193.29147 4101.47633 3192.89925 4101.84155 3192.45778 4102.14856 3191.97401 4102.39251 3191.45557 4102.56957 3190.91065 4102.67693 3190.34783 4102.71291 3189.776 4102.67693 3189.20417 4102.56957 3188.64135 4102.39251 3188.09643 4102.14856 3187.57799 4101.84155 3187.09422 4101.47633 3186.65275 4101.05865 3186.26053 4100.59511 3185.92375 4100.09302 3185.64772 4099.56029 3185.4368 4099.00533 3185.29431 4098.43688 3185.22249 4097.86392 3185.22249 4097.29547 3185.29431 4096.74051 3185.4368 4096.53758 3185.48525 4096.38677 3185.45402 4096.25893 3185.36811 4096.17303 3185.24028 4096.14179 3185.08946 4096.1901 3184.88689 4096.33259 3184.33193 4096.40441 3183.76348 4096.40441 3183.19052 4096.33259 3182.62207 4096.1901 3182.06711 4095.97918 3181.53438 4095.70315 3181.03229 4095.36637 3180.56875 4094.97415 3180.15107 4094.53268 3179.78585 4094.04891 3179.47884 4093.53047 3179.23489 4092.98555 3179.05783 4092.42273 3178.95047 4091.8509 3178.91449 4091.27907 3178.95047 4090.71625 3179.05783 4090.17133 3179.23489 4089.65289 3179.47884 4089.16912 3179.78585 4088.72765 3180.15107 4088.33543 3180.56875 4087.99865 3181.03229 4087.72262 3181.53438 4087.5117 3182.06711 4087.36921 3182.62207 4087.29739 3183.19052 4087.29739 3183.76348 4087.36921 3184.33193 4087.5117 3184.88689 4087.72262 3185.41962 4087.99865 3185.92171 4088.33543 3186.38525 4088.72765 3186.80293 4089.16912 3187.16815 4089.65289 3187.47516 4090.17133 3187.71911 4090.71625 3187.89617 4091.27907 3188.00353 4091.8509 3188.03951 4092.42273 3188.00353 4092.98555 3187.89617 4093.34333 3187.77992 4093.51707 3187.7635 4093.68126 3187.82261 4093.80467 3187.94601 4093.86378 3188.11021 4093.84736 3188.28395 4093.73123 3188.64135 4093.62387 3189.20417 4093.58789 3189.776 4093.62387 3190.34783 4093.73123 3190.91065 4093.90829 3191.45557 4094.15224 3191.97401 4094.45925 3192.45778 4094.82447 3192.89925 4095.24215 3193.29147 4095.70569 3193.62825 4096.20778 3193.90428 4096.74051 3194.1152 4097.29547 3194.25769 Z M 4068.12188 3194.33001 L 4068.69033 3194.25819 4069.24529 3194.1157 4069.77802 3193.90478 4070.28011 3193.62875 4070.74365 3193.29197 4071.16133 3192.89975 4071.52655 3192.45828 4071.83356 3191.97451 4072.07751 3191.45607 4072.25457 3190.91115 4072.36193 3190.34833 4072.39791 3189.7765 4072.36193 3189.20467 4072.25457 3188.64185 4072.13832 3188.28407 4072.1219 3188.11033 4072.18101 3187.94614 4072.30441 3187.82273 4072.46861 3187.76362 4072.64235 3187.78004 4072.99975 3187.89617 4073.56257 3188.00353 4074.1344 3188.03951 4074.70623 3188.00353 4075.26905 3187.89617 4075.81397 3187.71911 4076.33241 3187.47516 4076.81618 3187.16815 4077.25765 3186.80293 4077.64987 3186.38525 4077.98665 3185.92171 4078.26268 3185.41962 4078.4736 3184.88689 4078.61609 3184.33193 4078.68791 3183.76348 4078.68791 3183.19052 4078.61609 3182.62207 4078.4736 3182.06711 4078.26268 3181.53438 4077.98665 3181.03229 4077.64987 3180.56875 4077.25765 3180.15107 4076.81618 3179.78585 4076.33241 3179.47884 4075.81397 3179.23489 4075.26905 3179.05783 4074.70623 3178.95047 4074.1344 3178.91449 4073.56257 3178.95047 4072.99975 3179.05783 4072.45483 3179.23489 4071.93639 3179.47884 4071.45262 3179.78585 4071.01115 3180.15107 4070.61893 3180.56875 4070.28215 3181.03229 4070.00612 3181.53438 4069.7952 3182.06711 4069.65271 3182.62207 4069.58089 3183.19052 4069.58089 3183.76348 4069.65271 3184.33193 4069.7952 3184.88689 4069.84365 3185.08982 4069.81242 3185.24063 4069.72651 3185.36847 4069.59868 3185.45437 4069.44786 3185.48561 4069.24529 3185.4373 4068.69033 3185.29481 4068.12188 3185.22299 4067.54892 3185.22299 4066.98047 3185.29481 4066.42551 3185.4373 4065.89278 3185.64822 4065.39069 3185.92425 4064.92715 3186.26103 4064.50947 3186.65325 4064.14425 3187.09472 4063.83724 3187.57849 4063.59329 3188.09693 4063.41623 3188.64185 4063.30887 3189.20467 4063.27289 3189.7765 4063.30887 3190.34833 4063.41623 3190.91115 4063.59329 3191.45607 4063.83724 3191.97451 4064.14425 3192.45828 4064.50947 3192.89975 4064.92715 3193.29197 4065.39069 3193.62875 4065.89278 3193.90478 4066.42551 3194.1157 4066.98047 3194.25819 4067.54892 3194.33001 4068.12188 3194.33001 Z M 4053.17745 3308.91835 L 4053.53893 3308.90212 4053.89171 3308.8216 4054.22445 3308.67938 4054.52644 3308.48004 4054.78799 3308.22997 4055.00068 3307.93723 4055.15768 3307.61121 4055.25395 3307.2624 4055.28638 3306.902 4055.25395 3306.5416 4055.15768 3306.19279 4054.99953 3305.86438 4054.87781 3305.69141 4054.65322 3305.34093 4054.60613 3305.23756 4054.59 3305.12512 4054.59 3303.62405 4054.62045 3303.47098 4054.70716 3303.34121 4054.83693 3303.2545 4054.99 3303.22405 4056.00104 3303.22405 4056.24991 3303.19601 4056.46496 3303.12076 4056.65788 3302.99954 4056.81899 3302.83843 4056.94021 3302.64551 4057.01546 3302.43046 4057.0435 3302.18159 4057.0435 3293.17141 4057.01546 3292.92254 4056.94021 3292.70749 4056.81899 3292.51457 4056.65788 3292.35346 4056.46496 3292.23224 4056.24991 3292.15699 4056.00104 3292.12895 4055.47656 3292.12895 4055.31935 3292.09676 4055.18744 3292.00538 4055.10207 3291.8695 4055.07697 3291.711 4055.11618 3291.5554 4055.15768 3291.46921 4055.25395 3291.1204 4055.28638 3290.76 4055.25395 3290.3996 4055.15768 3290.05079 4055.00068 3289.72477 4054.78799 3289.43203 4054.52644 3289.18196 4054.22445 3288.98262 4053.89171 3288.8404 4053.53893 3288.75988 4053.17745 3288.74365 4052.81887 3288.79222 4052.47472 3288.90404 4052.15608 3289.07551 4051.87317 3289.30112 4051.63509 3289.57362 4051.4495 3289.88426 4051.32235 3290.22304 4051.25774 3290.57907 4051.25774 3290.94093 4051.32235 3291.29696 4051.43173 3291.5884 4051.45709 3291.73972 4051.42362 3291.88946 4051.33625 3292.01558 4051.20782 3292.09952 4051.05724 3292.12895 4050.53416 3292.12895 4050.28529 3292.15699 4050.07024 3292.23224 4049.87732 3292.35346 4049.71621 3292.51457 4049.59499 3292.70749 4049.51974 3292.92254 4049.4917 3293.17141 4049.4917 3302.18159 4049.51974 3302.43046 4049.59499 3302.64551 4049.71621 3302.83843 4049.87732 3302.99954 4050.07024 3303.12076 4050.28529 3303.19601 4050.53416 3303.22405 4051.55 3303.22405 4051.70307 3303.2545 4051.83284 3303.34121 4051.91955 3303.47098 4051.95 3303.62405 4051.95 3305.1221 4051.93371 3305.2351 4051.88616 3305.33889 4051.63509 3305.71562 4051.4495 3306.02626 4051.32235 3306.36504 4051.25774 3306.72107 4051.25774 3307.08293 4051.32235 3307.43896 4051.4495 3307.77774 4051.63509 3308.08838 4051.87317 3308.36088 4052.15608 3308.58649 4052.47472 3308.75796 4052.81887 3308.86978 4053.17745 3308.91835 Z M 4031.811 3347.68477 L 4032.4541 3347.64865 4033.08911 3347.54076 4033.70805 3347.36245 4034.30313 3347.11596 4034.86687 3346.80439 4035.39218 3346.43166 4035.87246 3346.00246 4036.30166 3345.52218 4036.67439 3344.99687 4036.98596 3344.43313 4037.23245 3343.83805 4037.41076 3343.21911 4037.51865 3342.5841 4037.55477 3341.941 4037.51865 3341.2979 4037.41076 3340.66289 4037.23245 3340.04395 4036.98596 3339.44887 4036.67439 3338.88513 4036.30166 3338.35982 4035.87246 3337.87954 4035.39218 3337.45034 4034.86687 3337.07761 4034.30313 3336.76604 4033.70805 3336.51955 4033.08911 3336.34124 4032.4541 3336.23335 4031.811 3336.19723 4031.1679 3336.23335 4030.53289 3336.34124 4029.91395 3336.51955 4029.31887 3336.76604 4028.75513 3337.07761 4028.22982 3337.45034 4027.74954 3337.87954 4027.32034 3338.35982 4026.94761 3338.88513 4026.63604 3339.44887 4026.38955 3340.04395 4026.21124 3340.66289 4026.10335 3341.2979 4026.06723 3341.941 4026.10335 3342.5841 4026.21124 3343.21911 4026.38955 3343.83805 4026.63604 3344.43313 4026.94761 3344.99687 4027.32034 3345.52218 4027.74954 3346.00246 4028.22982 3346.43166 4028.75513 3346.80439 4029.31887 3347.11596 4029.91395 3347.36245 4030.53289 3347.54076 4031.1679 3347.64865 4031.811 3347.68477 Z M 4126.299 3363.43277 L 4126.9421 3363.39665 4127.57711 3363.28876 4128.19605 3363.11045 4128.79113 3362.86396 4129.35487 3362.55239 4129.88018 3362.17966 4130.36046 3361.75046 4130.78966 3361.27018 4131.16239 3360.74487 4131.47396 3360.18113 4131.72045 3359.58605 4131.89876 3358.96711 4132.00665 3358.3321 4132.04277 3357.689 4132.00665 3357.0459 4131.89876 3356.41089 4131.72045 3355.79195 4131.47396 3355.19687 4131.16239 3354.63313 4130.78966 3354.10782 4130.36046 3353.62754 4129.88018 3353.19834 4129.35487 3352.82561 4128.79113 3352.51404 4128.19605 3352.26755 4127.57711 3352.08924 4126.9421 3351.98135 4126.299 3351.94523 4125.6559 3351.98135 4125.02089 3352.08924 4124.40195 3352.26755 4123.80687 3352.51404 4123.24313 3352.82561 4122.71782 3353.19834 4122.23754 3353.62754 4121.80834 3354.10782 4121.43561 3354.63313 4121.12404 3355.19687 4120.87755 3355.79195 4120.69924 3356.41089 4120.59135 3357.0459 4120.55523 3357.689 4120.59135 3358.3321 4120.69924 3358.96711 4120.87755 3359.58605 4121.12404 3360.18113 4121.43561 3360.74487 4121.80834 3361.27018 4122.23754 3361.75046 4122.71782 3362.17966 4123.24313 3362.55239 4123.80687 3362.86396 4124.40195 3363.11045 4125.02089 3363.28876 4125.6559 3363.39665 4126.299 3363.43277 Z M 4125.6559 3119.30265 L 4126.299 3119.33877 4126.9421 3119.30265 4127.57711 3119.19476 4128.19605 3119.01645 4128.79113 3118.76996 4129.35487 3118.45839 4129.88018 3118.08566 4130.36046 3117.65646 4130.78966 3117.17618 4131.16239 3116.65087 4131.47396 3116.08713 4131.72045 3115.49205 4131.89876 3114.87311 4132.00665 3114.2381 4132.04277 3113.595 4132.00665 3112.9519 4131.89876 3112.31689 4131.72045 3111.69795 4131.47396 3111.10287 4131.16239 3110.53913 4130.78966 3110.01382 4130.36046 3109.53354 4129.88018 3109.10434 4129.35487 3108.73161 4128.79113 3108.42004 4128.19605 3108.17355 4127.57711 3107.99524 4126.9421 3107.88735 4126.299 3107.85123 4125.6559 3107.88735 4125.02089 3107.99524 4124.40195 3108.17355 4123.80687 3108.42004 4123.24313 3108.73161 4122.71782 3109.10434 4122.23754 3109.53354 4121.80834 3110.01382 4121.43561 3110.53913 4121.12404 3111.10287 4120.87755 3111.69795 4120.69924 3112.31689 4120.59135 3112.9519 4120.55523 3113.595 4120.59135 3114.2381 4120.69924 3114.87311 4120.87755 3115.49205 4121.12404 3116.08713 4121.43561 3116.65087 4121.80834 3117.17618 4122.23754 3117.65646 4122.71782 3118.08566 4123.24313 3118.45839 4123.80687 3118.76996 4124.40195 3119.01645 4125.02089 3119.19476 4125.6559 3119.30265 Z M 4031.811 3135.08677 L 4032.4541 3135.05065 4033.08911 3134.94276 4033.70805 3134.76445 4034.30313 3134.51796 4034.86687 3134.20639 4035.39218 3133.83366 4035.87246 3133.40446 4036.30166 3132.92418 4036.67439 3132.39887 4036.98596 3131.83513 4037.23245 3131.24005 4037.41076 3130.62111 4037.51865 3129.9861 4037.55477 3129.343 4037.51865 3128.6999 4037.41076 3128.06489 4037.23245 3127.44595 4036.98596 3126.85087 4036.67439 3126.28713 4036.30166 3125.76182 4035.87246 3125.28154 4035.39218 3124.85234 4034.86687 3124.47961 4034.30313 3124.16804 4033.70805 3123.92155 4033.08911 3123.74324 4032.4541 3123.63535 4031.811 3123.59923 4031.1679 3123.63535 4030.53289 3123.74324 4029.91395 3123.92155 4029.31887 3124.16804 4028.75513 3124.47961 4028.22982 3124.85234 4027.74954 3125.28154 4027.32034 3125.76182 4026.94761 3126.28713 4026.63604 3126.85087 4026.38955 3127.44595 4026.21124 3128.06489 4026.10335 3128.6999 4026.06723 3129.343 4026.10335 3129.9861 4026.21124 3130.62111 4026.38955 3131.24005 4026.63604 3131.83513 4026.94761 3132.39887 4027.32034 3132.92418 4027.74954 3133.40446 4028.22982 3133.83366 4028.75513 3134.20639 4029.31887 3134.51796 4029.91395 3134.76445 4030.53289 3134.94276 4031.1679 3135.05065 4031.811 3135.08677 Z M 4094.91145 3304.98135 L 4095.27293 3304.96512 4095.62571 3304.8846 4095.95845 3304.74238 4096.26044 3304.54304 4096.52199 3304.29297 4096.73468 3304.00023 4096.89168 3303.67421 4096.93489 3303.51764 4097.01535 3303.36541 4097.15233 3303.26111 4097.32048 3303.22405 4097.73514 3303.22405 4097.98401 3303.19601 4098.19906 3303.12076 4098.39198 3302.99954 4098.55309 3302.83843 4098.67431 3302.64551 4098.74956 3302.43046 4098.7776 3302.18159 4098.7776 3293.17141 4098.74956 3292.92254 4098.67431 3292.70749 4098.55309 3292.51457 4098.39198 3292.35346 4098.19906 3292.23224 4097.98401 3292.15699 4097.73514 3292.12895 4097.21056 3292.12895 4097.05335 3292.09676 4096.92144 3292.00538 4096.83607 3291.8695 4096.81097 3291.711 4096.85018 3291.5554 4096.89168 3291.46921 4096.98795 3291.1204 4097.02038 3290.76 4096.98795 3290.3996 4096.89168 3290.05079 4096.73468 3289.72477 4096.52199 3289.43203 4096.26044 3289.18196 4095.95845 3288.98262 4095.62571 3288.8404 4095.27293 3288.75988 4094.91145 3288.74365 4094.55287 3288.79222 4094.20872 3288.90404 4093.89008 3289.07551 4093.60717 3289.30112 4093.36909 3289.57362 4093.1835 3289.88426 4093.05635 3290.22304 4092.99174 3290.57907 4092.99174 3290.94093 4093.05635 3291.29696 4093.16573 3291.5884 4093.19109 3291.73972 4093.15762 3291.88946 4093.07025 3292.01558 4092.94182 3292.09952 4092.79124 3292.12895 4092.26826 3292.12895 4092.01939 3292.15699 4091.80434 3292.23224 4091.61142 3292.35346 4091.45031 3292.51457 4091.32909 3292.70749 4091.25384 3292.92254 4091.2258 3293.17141 4091.2258 3302.18159 4091.25384 3302.43046 4091.32909 3302.64551 4091.45031 3302.83843 4091.61142 3302.99954 4091.80434 3303.12076 4092.01939 3303.19601 4092.26826 3303.22405 4092.67493 3303.22405 4092.83214 3303.25624 4092.96405 3303.34762 4093.04942 3303.4835 4093.1835 3303.84074 4093.36909 3304.15138 4093.60717 3304.42388 4093.89008 3304.64949 4094.20872 3304.82096 4094.55287 3304.93278 4094.91145 3304.98135 Z M 4069.2125 3143.15727 L 4069.80991 3143.12113 4070.39861 3143.01325 4070.97002 3142.83519 4071.51579 3142.58956 4072.02798 3142.27993 4072.49911 3141.91082 4072.92232 3141.48761 4073.29143 3141.01648 4073.60106 3140.50429 4073.84669 3139.95852 4074.02475 3139.38711 4074.13263 3138.79841 4074.16877 3138.201 4074.13263 3137.60359 4074.02475 3137.01489 4073.84669 3136.44348 4073.60106 3135.89771 4073.29143 3135.38552 4072.92232 3134.91439 4072.49911 3134.49118 4072.02798 3134.12207 4071.51579 3133.81244 4070.97002 3133.56681 4070.39861 3133.38875 4069.80991 3133.28087 4069.2125 3133.24473 4068.61509 3133.28087 4068.02639 3133.38875 4067.45498 3133.56681 4066.90921 3133.81244 4066.39702 3134.12207 4065.92589 3134.49118 4065.50268 3134.91439 4065.13357 3135.38552 4064.82394 3135.89771 4064.57831 3136.44348 4064.40025 3137.01489 4064.29237 3137.60359 4064.25623 3138.201 4064.29237 3138.79841 4064.40025 3139.38711 4064.57831 3139.95852 4064.82394 3140.50429 4065.13357 3141.01648 4065.50268 3141.48761 4065.92589 3141.91082 4066.39702 3142.27993 4066.90921 3142.58956 4067.45498 3142.83519 4068.02639 3143.01325 4068.61509 3143.12113 4069.2125 3143.15727 Z M 4096.17409 3143.12113 L 4096.7715 3143.15727 4097.36891 3143.12113 4097.95761 3143.01325 4098.52902 3142.83519 4099.07479 3142.58956 4099.58698 3142.27993 4100.05811 3141.91082 4100.48132 3141.48761 4100.85043 3141.01648 4101.16006 3140.50429 4101.40569 3139.95852 4101.58375 3139.38711 4101.69163 3138.79841 4101.72777 3138.201 4101.69163 3137.60359 4101.58375 3137.01489 4101.40569 3136.44348 4101.16006 3135.89771 4100.85043 3135.38552 4100.48132 3134.91439 4100.05811 3134.49118 4099.58698 3134.12207 4099.07479 3133.81244 4098.52902 3133.56681 4097.95761 3133.38875 4097.36891 3133.28087 4096.7715 3133.24473 4096.17409 3133.28087 4095.58539 3133.38875 4095.01398 3133.56681 4094.46821 3133.81244 4093.95602 3134.12207 4093.48489 3134.49118 4093.06168 3134.91439 4092.69257 3135.38552 4092.38294 3135.89771 4092.13731 3136.44348 4091.95925 3137.01489 4091.85137 3137.60359 4091.81523 3138.201 4091.85137 3138.79841 4091.95925 3139.38711 4092.13731 3139.95852 4092.38294 3140.50429 4092.69257 3141.01648 4093.06168 3141.48761 4093.48489 3141.91082 4093.95602 3142.27993 4094.46821 3142.58956 4095.01398 3142.83519 4095.58539 3143.01325 4096.17409 3143.12113 Z M 4109.73599 3339.75661 L 4109.98486 3339.78465 4115.45174 3339.78465 4115.70061 3339.75661 4115.91566 3339.68136 4116.10858 3339.56014 4116.26969 3339.39903 4116.39091 3339.20611 4116.46616 3338.99106 4116.4942 3338.74219 4116.4942 3329.73201 4116.46616 3329.48314 4116.39091 3329.26809 4116.26969 3329.07517 4116.10858 3328.91406 4115.91566 3328.79284 4115.70061 3328.71759 4115.45174 3328.68955 4109.98486 3328.68955 4109.73599 3328.71759 4109.52094 3328.79284 4109.32802 3328.91406 4109.16691 3329.07517 4109.04569 3329.26809 4108.97044 3329.48314 4108.9424 3329.73201 4108.9424 3338.74219 4108.97044 3338.99106 4109.04569 3339.20611 4109.16691 3339.39903 4109.32802 3339.56014 4109.52094 3339.68136 4109.73599 3339.75661 Z M 4092.01939 3339.75661 L 4092.26826 3339.78465 4097.73514 3339.78465 4097.98401 3339.75661 4098.19906 3339.68136 4098.39198 3339.56014 4098.55309 3339.39903 4098.67431 3339.20611 4098.74956 3338.99106 4098.7776 3338.74219 4098.7776 3329.73201 4098.74956 3329.48314 4098.67431 3329.26809 4098.55309 3329.07517 4098.39198 3328.91406 4098.19906 3328.79284 4097.98401 3328.71759 4097.73514 3328.68955 4092.26826 3328.68955 4092.01939 3328.71759 4091.80434 3328.79284 4091.61142 3328.91406 4091.45031 3329.07517 4091.32909 3329.26809 4091.25384 3329.48314 4091.2258 3329.73201 4091.2258 3338.74219 4091.25384 3338.99106 4091.32909 3339.20611 4091.45031 3339.39903 4091.61142 3339.56014 4091.80434 3339.68136 4092.01939 3339.75661 Z M 4056.00104 3339.78465 L 4056.24991 3339.75661 4056.46496 3339.68136 4056.65788 3339.56014 4056.81899 3339.39903 4056.94021 3339.20611 4057.01546 3338.99106 4057.0435 3338.74219 4057.0435 3329.73201 4057.01546 3329.48314 4056.94021 3329.26809 4056.81899 3329.07517 4056.65788 3328.91406 4056.46496 3328.79284 4056.24991 3328.71759 4056.00104 3328.68955 4050.53416 3328.68955 4050.28529 3328.71759 4050.07024 3328.79284 4049.87732 3328.91406 4049.71621 3329.07517 4049.59499 3329.26809 4049.51974 3329.48314 4049.4917 3329.73201 4049.4917 3338.74219 4049.51974 3338.99106 4049.59499 3339.20611 4049.71621 3339.39903 4049.87732 3339.56014 4050.07024 3339.68136 4050.28529 3339.75661 4050.53416 3339.78465 4056.00104 3339.78465 Z M 4073.71764 3339.78465 L 4073.96651 3339.75661 4074.18156 3339.68136 4074.37448 3339.56014 4074.53559 3339.39903 4074.65681 3339.20611 4074.73206 3338.99106 4074.7601 3338.74219 4074.7601 3329.73201 4074.73206 3329.48314 4074.65681 3329.26809 4074.53559 3329.07517 4074.37448 3328.91406 4074.18156 3328.79284 4073.96651 3328.71759 4073.71764 3328.68955 4068.25076 3328.68955 4068.00189 3328.71759 4067.78684 3328.79284 4067.59392 3328.91406 4067.43281 3329.07517 4067.31159 3329.26809 4067.23634 3329.48314 4067.2083 3329.73201 4067.2083 3338.74219 4067.23634 3338.99106 4067.31159 3339.20611 4067.43281 3339.39903 4067.59392 3339.56014 4067.78684 3339.68136 4068.00189 3339.75661 4068.25076 3339.78465 4073.71764 3339.78465 Z M 4108.9424 3293.17141 L 4108.9424 3295.16273 4111.09035 3295.16273 4111.09035 3292.12895 4109.98486 3292.12895 4109.73599 3292.15699 4109.52094 3292.23224 4109.32802 3292.35346 4109.16691 3292.51457 4109.04569 3292.70749 4108.97044 3292.92254 4108.9424 3293.17141 Z M 4111.09035 3303.22405 L 4111.09035 3300.19027 4108.9424 3300.19027 4108.9424 3302.18159 4108.97044 3302.43046 4109.04569 3302.64551 4109.16691 3302.83843 4109.32802 3302.99954 4109.52094 3303.12076 4109.73599 3303.19601 4109.98486 3303.22405 4111.09035 3303.22405 Z M 4114.34625 3300.19027 L 4114.34625 3303.22405 4115.45174 3303.22405 4115.70061 3303.19601 4115.91566 3303.12076 4116.10858 3302.99954 4116.26969 3302.83843 4116.39091 3302.64551 4116.46616 3302.43046 4116.4942 3302.18159 4116.4942 3300.19027 4114.34625 3300.19027 Z M 4116.4942 3295.16273 L 4116.4942 3293.17141 4116.46616 3292.92254 4116.39091 3292.70749 4116.26969 3292.51457 4116.10858 3292.35346 4115.91566 3292.23224 4115.70061 3292.15699 4115.45174 3292.12895 4114.34625 3292.12895 4114.34625 3295.16273 4116.4942 3295.16273 Z M 4069.35625 3303.22405 L 4069.35625 3300.19027 4067.2083 3300.19027 4067.2083 3302.18159 4067.23634 3302.43046 4067.31159 3302.64551 4067.43281 3302.83843 4067.59392 3302.99954 4067.78684 3303.12076 4068.00189 3303.19601 4068.25076 3303.22405 4069.35625 3303.22405 Z M 4067.2083 3293.17141 L 4067.2083 3295.16273 4069.35625 3295.16273 4069.35625 3292.12895 4068.25076 3292.12895 4068.00189 3292.15699 4067.78684 3292.23224 4067.59392 3292.35346 4067.43281 3292.51457 4067.31159 3292.70749 4067.23634 3292.92254 4067.2083 3293.17141 Z M 4074.7601 3295.16273 L 4074.7601 3293.17141 4074.73206 3292.92254 4074.65681 3292.70749 4074.53559 3292.51457 4074.37448 3292.35346 4074.18156 3292.23224 4073.96651 3292.15699 4073.71764 3292.12895 4072.61215 3292.12895 4072.61215 3295.16273 4074.7601 3295.16273 Z M 4073.71764 3303.22405 L 4073.96651 3303.19601 4074.18156 3303.12076 4074.37448 3302.99954 4074.53559 3302.83843 4074.65681 3302.64551 4074.73206 3302.43046 4074.7601 3302.18159 4074.7601 3300.19027 4072.61215 3300.19027 4072.61215 3303.22405 4073.71764 3303.22405 Z M 4132.84925 3209.51415 L 4132.84925 3211.57734 4133.27231 3211.34475 4133.73585 3211.00797 4134.15353 3210.61575 4134.51875 3210.17428 4134.82576 3209.69051 4134.90874 3209.51415 4132.84925 3209.51415 Z M 4134.90874 3205.47085 L 4134.82576 3205.29449 4134.51875 3204.81072 4134.15353 3204.36925 4133.73585 3203.97703 4133.27231 3203.64025 4132.84925 3203.40766 4132.84925 3205.47085 4134.90874 3205.47085 Z M 4126.82944 3205.29449 L 4126.74646 3205.47085 4128.80595 3205.47085 4128.80595 3203.40766 4128.38289 3203.64025 4127.91935 3203.97703 4127.50167 3204.36925 4127.13645 3204.81072 4126.82944 3205.29449 Z M 4128.80595 3211.57734 L 4128.80595 3209.51415 4126.74646 3209.51415 4126.82944 3209.69051 4127.13645 3210.17428 4127.50167 3210.61575 4127.91935 3211.00797 4128.38289 3211.34475 4128.80595 3211.57734 Z M 4095.93574 3148.77815 L 4095.70315 3148.35509 4095.36637 3147.89155 4094.97415 3147.47387 4094.53268 3147.10865 4094.04891 3146.80164 4093.87255 3146.71866 4093.87255 3148.77815 4095.93574 3148.77815 Z M 4072.11325 3244.44755 L 4072.11325 3242.38806 4071.93689 3242.47104 4071.45312 3242.77805 4071.01165 3243.14327 4070.61943 3243.56095 4070.28265 3244.02449 4070.05006 3244.44755 4072.11325 3244.44755 Z M 4089.82925 3154.88094 L 4089.82925 3152.82145 4087.76606 3152.82145 4087.99865 3153.24451 4088.33543 3153.70805 4088.72765 3154.12573 4089.16912 3154.49095 4089.65289 3154.79796 4089.82925 3154.88094 Z M 4089.82925 3148.77815 L 4089.82925 3146.71866 4089.65289 3146.80164 4089.16912 3147.10865 4088.72765 3147.47387 4088.33543 3147.89155 4087.99865 3148.35509 4087.76606 3148.77815 4089.82925 3148.77815 Z M 4093.87255 3154.88094 L 4094.04891 3154.79796 4094.53268 3154.49095 4094.97415 3154.12573 4095.36637 3153.70805 4095.70315 3153.24451 4095.93574 3152.82145 4093.87255 3152.82145 4093.87255 3154.88094 Z M 4032.71349 3193.62875 L 4033.13655 3193.86134 4033.13655 3191.79815 4031.07706 3191.79815 4031.16004 3191.97451 4031.46705 3192.45828 4031.83227 3192.89975 4032.24995 3193.29197 4032.71349 3193.62875 Z M 4031.16004 3187.57849 L 4031.07706 3187.75485 4033.13655 3187.75485 4033.13655 3185.69166 4032.71349 3185.92425 4032.24995 3186.26103 4031.83227 3186.65325 4031.46705 3187.09472 4031.16004 3187.57849 Z M 4072.11325 3250.55034 L 4072.11325 3248.49085 4070.05006 3248.49085 4070.28265 3248.91391 4070.61943 3249.37745 4071.01165 3249.79513 4071.45312 3250.16035 4071.93689 3250.46736 4072.11325 3250.55034 Z M 4037.17985 3185.69166 L 4037.17985 3187.75485 4039.23934 3187.75485 4039.15636 3187.57849 4038.84935 3187.09472 4038.48413 3186.65325 4038.06645 3186.26103 4037.60291 3185.92425 4037.17985 3185.69166 Z M 4037.17985 3193.86134 L 4037.60291 3193.62875 4038.06645 3193.29197 4038.48413 3192.89975 4038.84935 3192.45828 4039.15636 3191.97451 4039.23934 3191.79815 4037.17985 3191.79815 4037.17985 3193.86134 Z M 4075.9593 3130.1838 L 4075.9593 3132.09724 4076.21887 3131.96924 4076.67227 3131.66629 4077.08225 3131.30675 4077.44179 3130.89677 4077.74474 3130.44337 4077.87274 3130.1838 4075.9593 3130.1838 Z M 4077.87274 3126.5342 L 4077.74474 3126.27463 4077.44179 3125.82123 4077.08225 3125.41125 4076.67227 3125.05171 4076.21887 3124.74876 4075.9593 3124.62076 4075.9593 3126.5342 4077.87274 3126.5342 Z M 4072.3097 3132.09724 L 4072.3097 3130.1838 4070.39626 3130.1838 4070.52426 3130.44337 4070.82721 3130.89677 4071.18675 3131.30675 4071.59673 3131.66629 4072.05013 3131.96924 4072.3097 3132.09724 Z M 4072.3097 3126.5342 L 4072.3097 3124.62076 4072.05013 3124.74876 4071.59673 3125.05171 4071.18675 3125.41125 4070.82721 3125.82123 4070.52426 3126.27463 4070.39626 3126.5342 4072.3097 3126.5342 Z "}],"B":[{"net":"GND","svgpath":"M 4051.503 3368.47988 L 4049.99084 3368.44228 4048.49911 3368.33176 4047.01461 3368.14818 4045.5409 3367.89197 4044.08154 3367.56377 4042.64005 3367.16435 4041.21988 3366.69469 4039.82447 3366.1559 4038.45718 3365.5493 4037.12131 3364.87633 4035.82006 3364.13863 4034.55658 3363.33797 4033.3339 3362.47628 4032.15498 3361.55563 4031.02265 3360.57824 4029.93965 3359.54647 4028.90858 3358.4628 4027.93192 3357.32984 4027.01203 3356.15033 4026.15112 3354.9271 4025.35127 3353.6631 4024.61441 3352.36138 4023.94231 3351.02507 4023.33658 3349.65739 4022.7987 3348.26163 4022.32995 3346.84117 4021.93146 3345.39941 4021.6042 3343.93984 4021.34894 3342.46597 4021.16632 3340.98135 4021.05676 3339.48954 4021.0199 3337.98697 4021.0199 3133.29703 4021.05772 3131.77488 4021.16824 3130.28311 4021.35182 3128.79861 4021.60803 3127.3249 4021.93623 3125.86554 4022.33565 3124.42405 4022.80531 3123.00388 4023.3441 3121.60847 4023.9507 3120.24118 4024.62367 3118.90531 4025.36137 3117.60406 4026.16203 3116.34058 4027.02372 3115.1179 4027.94437 3113.93898 4028.92176 3112.80665 4029.95353 3111.72365 4031.0372 3110.69258 4032.17016 3109.71592 4033.34967 3108.79603 4034.5729 3107.93512 4035.8369 3107.13527 4037.13862 3106.39841 4038.47493 3105.72631 4039.84261 3105.12058 4041.23837 3104.5827 4042.65883 3104.11395 4044.10059 3103.71546 4045.56016 3103.3882 4047.03403 3103.13294 4048.51865 3102.95032 4050.01041 3102.84077 4051.51273 3102.8042 4126.27173 3102.8039 4127.16114 3102.83985 4128.00238 3102.94066 4128.83306 3103.10715 4129.64812 3103.3383 4130.44252 3103.63269 4131.21138 3103.98849 4131.94996 3104.40353 4132.65369 3104.87523 4133.31825 3105.4007 4133.93953 3105.97668 4134.5137 3106.59963 4135.03723 3107.26572 4135.50688 3107.97082 4135.91976 3108.7106 4136.27333 3109.48049 4136.56541 3110.27575 4136.79418 3111.09148 4136.95825 3111.92264 4137.05659 3112.76405 4137.0898 3113.62166 4137.0898 3357.66215 4137.05412 3358.55135 4136.95334 3359.39238 4136.78685 3360.22306 4136.5557 3361.03812 4136.26131 3361.83252 4135.90551 3362.60138 4135.49047 3363.33996 4135.01877 3364.04369 4134.4933 3364.70825 4133.91732 3365.32953 4133.29437 3365.9037 4132.62828 3366.42723 4131.92318 3366.89688 4131.1834 3367.30976 4130.41351 3367.66333 4129.61825 3367.95541 4128.80252 3368.18418 4127.97136 3368.34825 4127.12989 3368.44661 4126.27181 3368.48 4051.503 3368.47988 Z M 4117.66775 3326.03042 L 4117.63971 3325.75874 4117.56446 3325.54369 4117.44324 3325.35077 4117.28213 3325.18966 4117.08921 3325.06844 4116.85004 3324.98475 4116.71009 3324.90042 4116.61553 3324.76716 4116.58216 3324.6072 4116.61553 3324.44724 4116.71009 3324.31398 4116.85004 3324.22965 4117.08921 3324.14596 4117.28213 3324.02474 4117.44324 3323.86363 4117.56446 3323.67071 4117.63971 3323.45566 4117.66775 3323.20679 4117.66775 3322.07061 4117.63971 3321.82174 4117.56446 3321.60669 4117.44324 3321.41377 4117.28213 3321.25266 4117.08921 3321.13144 4116.85004 3321.04775 4116.71009 3320.96342 4116.61553 3320.83016 4116.58216 3320.6702 4116.61553 3320.51024 4116.71009 3320.37698 4116.85004 3320.29265 4117.08921 3320.20896 4117.28213 3320.08774 4117.44324 3319.92663 4117.56446 3319.73371 4117.63971 3319.51866 4117.66775 3319.26979 4117.66775 3318.13361 4117.63971 3317.88474 4117.56446 3317.66969 4117.44324 3317.47677 4117.28213 3317.31566 4117.08921 3317.19444 4116.85004 3317.11075 4116.71009 3317.02642 4116.61553 3316.89316 4116.58216 3316.7332 4116.61553 3316.57324 4116.71009 3316.43998 4116.85004 3316.35565 4117.08921 3316.27196 4117.28213 3316.15074 4117.44324 3315.98963 4117.56446 3315.79671 4117.63971 3315.58166 4117.66775 3315.33279 4117.66775 3314.19661 4117.63971 3313.94774 4117.56446 3313.73269 4117.44324 3313.53977 4117.28213 3313.37866 4117.08921 3313.25744 4116.85004 3313.17375 4116.71009 3313.08942 4116.61553 3312.95616 4116.58216 3312.7962 4116.61553 3312.63624 4116.71009 3312.50298 4116.85004 3312.41865 4117.08921 3312.33496 4117.28213 3312.21374 4117.44324 3312.05263 4117.56446 3311.85971 4117.63971 3311.64466 4117.66775 3311.39579 4117.66775 3310.25961 4117.63971 3310.01074 4117.56446 3309.79569 4117.44324 3309.60277 4117.28213 3309.44166 4117.08921 3309.32044 4116.85004 3309.23675 4116.71009 3309.15242 4116.61553 3309.01916 4116.58216 3308.8592 4116.61553 3308.69924 4116.71009 3308.56598 4116.85004 3308.48165 4117.08921 3308.39796 4117.28213 3308.27674 4117.44324 3308.11563 4117.56446 3307.92271 4117.63971 3307.70766 4117.66775 3307.45879 4117.66775 3306.32261 4117.63971 3306.07374 4117.56446 3305.85869 4117.44324 3305.66577 4117.28213 3305.50466 4117.08921 3305.38344 4116.85004 3305.29975 4116.71009 3305.21542 4116.61553 3305.08216 4116.58216 3304.9222 4116.61553 3304.76224 4116.71009 3304.62898 4116.85004 3304.54465 4117.08921 3304.46096 4117.28213 3304.33974 4117.44324 3304.17863 4117.56446 3303.98571 4117.63971 3303.77066 4117.66775 3303.52179 4117.66775 3302.38561 4117.63971 3302.13674 4117.56446 3301.92169 4117.44324 3301.72877 4117.28213 3301.56766 4117.08921 3301.44644 4116.85504 3301.3645 4116.71509 3301.28017 4116.62053 3301.14691 4116.58716 3300.98695 4116.62053 3300.82699 4116.71509 3300.69373 4116.85504 3300.6094 4117.09921 3300.52396 4117.29213 3300.40274 4117.45324 3300.24163 4117.57446 3300.04871 4117.64971 3299.83366 4117.67775 3299.58479 4117.67775 3298.44861 4117.64971 3298.19974 4117.57446 3297.98469 4117.45324 3297.79177 4117.29213 3297.63066 4117.09921 3297.50944 4116.86004 3297.42575 4116.72009 3297.34142 4116.62553 3297.20816 4116.59216 3297.0482 4116.62553 3296.88824 4116.72009 3296.75498 4116.86004 3296.67065 4117.09921 3296.58696 4117.29213 3296.46574 4117.45324 3296.30463 4117.57446 3296.11171 4117.64971 3295.89666 4117.67775 3295.64779 4117.67775 3294.51161 4117.64971 3294.26274 4117.57446 3294.04769 4117.45324 3293.85477 4117.29213 3293.69366 4117.09921 3293.57244 4116.88416 3293.49719 4116.63529 3293.46915 4115.92 3293.46915 4115.76693 3293.4387 4115.63716 3293.35199 4115.55045 3293.22222 4115.52 3293.06915 4115.52 3285.76096 4115.489 3285.46601 4115.40387 3285.204 4115.26351 3284.9609 4115.1216 3284.79485 4107.5576 3277.24082 4107.32699 3277.05433 4107.08145 3276.92942 4106.81012 3276.85691 4106.59435 3276.84 4103.92331 3276.84 4103.78066 3276.8137 4103.65677 3276.73826 4103.56793 3276.62359 4103.52582 3276.48479 4103.49761 3276.23439 4103.42236 3276.01934 4103.30114 3275.82642 4103.14003 3275.66531 4102.94711 3275.54409 4102.73206 3275.46884 4102.59521 3275.45342 4102.45641 3275.41132 4102.34174 3275.32248 4102.2663 3275.19859 4102.24 3275.05594 4102.24 3270.00245 4102.27045 3269.84937 4102.35716 3269.7196 4109.70856 3262.3682 4109.8952 3262.13772 4110.02027 3261.89226 4110.09294 3261.62104 4110.11 3261.40428 4110.11 3256.85831 4110.1363 3256.71566 4110.21174 3256.59177 4110.32641 3256.50293 4110.46521 3256.46083 4110.60606 3256.44496 4110.82111 3256.36971 4111.01403 3256.24849 4111.17514 3256.08738 4111.29636 3255.89446 4111.37161 3255.67941 4111.40025 3255.42521 4111.44236 3255.28641 4111.5312 3255.17174 4111.65509 3255.0963 4111.79773 3255.07 4115.24904 3255.07 4115.54399 3255.039 4115.806 3254.95387 4116.04927 3254.81341 4116.21323 3254.67356 4120.12735 3250.76937 4120.31428 3250.53913 4120.43967 3250.29382 4120.51265 3250.02282 4120.53 3249.80416 4120.53 3175.33245 4120.56045 3175.17937 4120.64716 3175.0496 4122.12298 3173.57378 4122.25198 3173.48739 4122.40417 3173.45663 4122.5566 3173.48613 4122.87929 3173.69271 4123.09434 3173.76796 4123.34321 3173.796 4126.47339 3173.796 4126.72226 3173.76796 4126.93731 3173.69271 4127.13023 3173.57149 4127.29134 3173.41038 4127.41256 3173.21746 4127.49625 3172.97829 4127.58058 3172.83834 4127.71384 3172.74378 4127.8738 3172.71041 4128.03376 3172.74378 4128.16702 3172.83834 4128.25135 3172.97829 4128.33504 3173.21746 4128.45626 3173.41038 4128.61737 3173.57149 4128.81029 3173.69271 4129.02534 3173.76796 4129.16479 3173.78367 4129.30359 3173.82578 4129.41826 3173.91462 4129.4937 3174.03851 4129.52 3174.18116 4129.52 3174.57645 4129.48955 3174.72952 4129.40284 3174.85929 4129.27307 3174.946 4129.07696 3174.97645 4128.82809 3175.00449 4128.61304 3175.07974 4128.42012 3175.20096 4128.25901 3175.36207 4128.21249 3175.43611 4128.10159 3175.55209 4127.95404 3175.61516 4127.79356 3175.61516 4127.64601 3175.55209 4127.53511 3175.43611 4127.48859 3175.36207 4127.32748 3175.20096 4127.13456 3175.07974 4126.91951 3175.00449 4126.67064 3174.97645 4126.1557 3174.97645 4126.1557 3176.63227 4127.6345 3176.63227 4127.78757 3176.66272 4127.91734 3176.74943 4128.00405 3176.8792 4128.0345 3177.03228 4128.0345 3178.50393 4128.00405 3178.657 4127.91734 3178.78677 4127.78757 3178.87348 4127.6345 3178.90393 4126.1557 3178.90393 4126.1557 3180.55975 4126.67064 3180.55975 4126.91951 3180.53171 4127.13456 3180.45646 4127.32748 3180.33524 4127.48859 3180.17413 4127.53511 3180.10009 4127.64601 3179.98411 4127.79356 3179.92104 4127.95404 3179.92104 4128.10159 3179.98411 4128.21249 3180.10009 4128.25901 3180.17413 4128.42012 3180.33524 4128.61304 3180.45646 4128.82491 3180.53059 4129.14816 3180.56157 4129.28914 3180.60211 4129.40603 3180.69074 4129.4831 3180.81555 4129.51 3180.95975 4129.51 3184.38413 4129.48142 3184.53261 4129.39976 3184.65987 4127.52735 3186.62745 4127.13645 3187.09422 4126.82944 3187.57799 4126.58549 3188.09643 4126.40843 3188.64135 4126.30107 3189.20417 4126.26509 3189.776 4126.30107 3190.34783 4126.40843 3190.91065 4126.58549 3191.45557 4126.82944 3191.97401 4127.13645 3192.45778 4127.50167 3192.89925 4127.91935 3193.29147 4128.38289 3193.62825 4128.88498 3193.90428 4129.41771 3194.1152 4129.97267 3194.25769 4130.54112 3194.32951 4131.11408 3194.32951 4131.68253 3194.25769 4132.23749 3194.1152 4132.77022 3193.90428 4133.27231 3193.62825 4133.73585 3193.29147 4134.15353 3192.89925 4134.51875 3192.45778 4134.82576 3191.97401 4135.06971 3191.45557 4135.24677 3190.91065 4135.35413 3190.34783 4135.39011 3189.776 4135.35413 3189.20417 4135.24677 3188.64135 4135.06971 3188.09643 4134.82576 3187.57799 4134.51781 3187.09275 4134.2152 3186.72039 4132.2599 3184.66071 4132.17849 3184.53358 4132.15 3184.38532 4132.15 3180.91368 4132.18338 3180.75372 4132.27793 3180.62046 4132.41789 3180.53612 4132.64556 3180.45646 4132.83848 3180.33524 4132.99959 3180.17413 4133.12081 3179.98121 4133.19606 3179.76616 4133.2241 3179.51729 4133.2241 3176.01891 4133.19606 3175.77004 4133.12081 3175.55499 4132.99959 3175.36207 4132.83848 3175.20096 4132.64556 3175.07974 4132.42789 3175.00357 4132.28793 3174.91924 4132.19338 3174.78598 4132.16 3174.62602 4132.16 3174.181 4132.1863 3174.03835 4132.26174 3173.91446 4132.37641 3173.82562 4132.51521 3173.78351 4132.65326 3173.76796 4132.86831 3173.69271 4133.06123 3173.57149 4133.22234 3173.41038 4133.34356 3173.21746 4133.41881 3173.00241 4133.44685 3172.75354 4133.44685 3169.39686 4133.41881 3169.14799 4133.34356 3168.93294 4133.22234 3168.74002 4133.06123 3168.57891 4132.86831 3168.45769 4132.65326 3168.38244 4132.40439 3168.3544 4129.27421 3168.3544 4129.02534 3168.38244 4128.81029 3168.45769 4128.61737 3168.57891 4128.45626 3168.74002 4128.33504 3168.93294 4128.25135 3169.17211 4128.16702 3169.31206 4128.03376 3169.40662 4127.8738 3169.43999 4127.71384 3169.40662 4127.58058 3169.31206 4127.49625 3169.17211 4127.41256 3168.93294 4127.29134 3168.74002 4127.13023 3168.57891 4126.93731 3168.45769 4126.72226 3168.38244 4126.58521 3168.367 4126.44641 3168.32489 4126.33174 3168.23605 4126.2563 3168.11216 4126.23 3167.96952 4126.23 3132.30096 4126.199 3132.00601 4126.11387 3131.744 4125.9735 3131.50088 4125.83177 3131.33502 4115.61776 3121.13098 4115.38718 3120.94445 4115.14166 3120.8195 4114.87036 3120.74695 4114.65433 3120.73 4112.86984 3120.73 4112.72719 3120.7037 4112.6033 3120.62826 4112.51446 3120.51359 4112.47235 3120.37479 4112.45636 3120.23284 4112.38111 3120.01779 4112.25989 3119.82487 4112.09878 3119.66376 4111.90586 3119.54254 4111.69081 3119.46729 4111.44194 3119.43925 4108.08526 3119.43925 4107.83639 3119.46729 4107.62134 3119.54254 4107.42842 3119.66376 4107.26731 3119.82487 4107.14609 3120.01779 4107.07084 3120.23284 4107.0428 3120.48171 4107.0428 3123.61189 4107.07084 3123.86076 4107.14609 3124.07581 4107.26731 3124.26873 4107.42842 3124.42984 4107.62134 3124.55106 4107.86051 3124.63475 4108.00046 3124.71908 4108.09502 3124.85234 4108.12839 3125.0123 4108.09502 3125.17226 4108.00046 3125.30552 4107.86051 3125.38985 4107.62134 3125.47354 4107.42842 3125.59476 4107.26731 3125.75587 4107.14609 3125.94879 4107.07186 3126.16094 4107.04092 3126.47876 4107.00024 3126.61954 4106.91159 3126.73623 4106.78686 3126.81316 4106.6428 3126.84 4105.85212 3126.84 4105.70947 3126.8137 4105.58558 3126.73826 4105.49674 3126.62359 4105.45464 3126.48479 4105.44061 3126.36029 4105.36536 3126.14524 4105.24414 3125.95232 4105.08303 3125.79121 4105.00899 3125.74469 4104.89301 3125.63379 4104.82994 3125.48624 4104.82994 3125.32576 4104.89301 3125.17821 4105.00899 3125.06731 4105.08303 3125.02079 4105.24414 3124.85968 4105.36536 3124.66676 4105.44061 3124.45171 4105.46865 3124.20284 4105.46865 3123.6879 4103.81282 3123.6879 4103.81282 3125.1667 4103.78238 3125.31977 4103.69567 3125.44954 4103.5659 3125.53625 4103.41282 3125.5667 4101.94117 3125.5667 4101.7881 3125.53625 4101.65833 3125.44954 4101.57162 3125.31977 4101.54118 3125.1667 4101.54118 3123.6879 4099.88535 3123.6879 4099.88535 3124.20284 4099.91339 3124.45171 4099.98864 3124.66676 4100.10986 3124.85968 4100.27097 3125.02079 4100.34501 3125.06731 4100.46099 3125.17821 4100.52406 3125.32576 4100.52406 3125.48624 4100.46099 3125.63379 4100.34501 3125.74469 4100.27097 3125.79121 4100.10986 3125.95232 4099.98864 3126.14524 4099.91447 3126.35721 4099.8835 3126.67839 4099.84292 3126.81929 4099.75428 3126.9361 4099.6295 3127.01312 4099.48535 3127.04 4096.69986 3127.04 4096.55292 3127.01203 4096.42653 3126.93205 4094.64062 3125.26063 4094.39273 3125.0547 4093.93487 3124.74876 4093.44581 3124.50758 4092.92945 3124.3323 4092.39463 3124.22592 4091.8505 3124.19026 4091.30637 3124.22592 4090.77155 3124.3323 4090.25519 3124.50758 4089.76613 3124.74876 4089.31273 3125.05171 4088.90275 3125.41125 4088.54321 3125.82123 4088.24026 3126.27463 4087.99908 3126.76369 4087.8238 3127.28005 4087.71742 3127.81487 4087.68176 3128.359 4087.71742 3128.90313 4087.8238 3129.43795 4087.99908 3129.95431 4088.24026 3130.44337 4088.54321 3130.89677 4088.90275 3131.30675 4089.31273 3131.66629 4089.76613 3131.96924 4090.25519 3132.21042 4090.77155 3132.3857 4091.30637 3132.49208 4091.8505 3132.52774 4092.39463 3132.49208 4092.92945 3132.3857 4093.44581 3132.21042 4093.93487 3131.96924 4094.38827 3131.66629 4094.64664 3131.45146 4096.42629 3129.7878 4096.55262 3129.70792 4096.69945 3129.68 4099.53065 3129.68 4099.69061 3129.71338 4099.82387 3129.80793 4099.90821 3129.94789 4099.98864 3130.17776 4100.10986 3130.37068 4100.27097 3130.53179 4100.46389 3130.65301 4100.67894 3130.72826 4100.92781 3130.7563 4104.42619 3130.7563 4104.67506 3130.72826 4104.89011 3130.65301 4105.08303 3130.53179 4105.24414 3130.37068 4105.36536 3130.17776 4105.44061 3129.96271 4105.45497 3129.83521 4105.49708 3129.69641 4105.58592 3129.58174 4105.70981 3129.5063 4105.85246 3129.48 4106.67825 3129.48 4106.83832 3129.51342 4106.97164 3129.60811 4107.05593 3129.74824 4107.14619 3130.00697 4107.26731 3130.19973 4107.42842 3130.36084 4107.62134 3130.48206 4107.83639 3130.55731 4108.08526 3130.58535 4111.44194 3130.58535 4111.69081 3130.55731 4111.90586 3130.48206 4112.09878 3130.36084 4112.25989 3130.19973 4112.38111 3130.00681 4112.45636 3129.79176 4112.4844 3129.54289 4112.4844 3126.41271 4112.45636 3126.16384 4112.38111 3125.94879 4112.25989 3125.75587 4112.09878 3125.59476 4111.90586 3125.47354 4111.66669 3125.38985 4111.52674 3125.30552 4111.43218 3125.17226 4111.39881 3125.0123 4111.43218 3124.85234 4111.52674 3124.71908 4111.66669 3124.63475 4111.90586 3124.55106 4112.09878 3124.42984 4112.25989 3124.26873 4112.38111 3124.07581 4112.45636 3123.86076 4112.47163 3123.72521 4112.51374 3123.58641 4112.60258 3123.47174 4112.72647 3123.3963 4112.86912 3123.37 4113.95804 3123.37 4114.11103 3123.40041 4114.24075 3123.48702 4123.4727 3132.70996 4123.55951 3132.83978 4123.59 3132.99294 4123.59 3167.96913 4123.5637 3168.11178 4123.48826 3168.23567 4123.37359 3168.32451 4123.23479 3168.36662 4123.09434 3168.38244 4122.87929 3168.45769 4122.68637 3168.57891 4122.52526 3168.74002 4122.40404 3168.93294 4122.32879 3169.14799 4122.30075 3169.39686 4122.30075 3169.58798 4122.27727 3169.72301 4122.20959 3169.84218 4122.10565 3169.93152 4121.98302 3170.00466 4121.81551 3170.14773 4118.29144 3173.6718 4118.1048 3173.90228 4117.97973 3174.14774 4117.90706 3174.41896 4117.89 3174.63572 4117.89 3249.10627 4117.85945 3249.25958 4117.77248 3249.38947 4114.84132 3252.3132 4114.71167 3252.39965 4114.55883 3252.43 4111.79724 3252.43 4111.65459 3252.4037 4111.5307 3252.32826 4111.44186 3252.21359 4111.39975 3252.07479 4111.37161 3251.82499 4111.29636 3251.60994 4111.17514 3251.41702 4111.01403 3251.25591 4110.82111 3251.13469 4110.60606 3251.05944 4110.35719 3251.0314 4107.22701 3251.0314 4106.97814 3251.05944 4106.76309 3251.13469 4106.57017 3251.25591 4106.40906 3251.41702 4106.28784 3251.60994 4106.20415 3251.84911 4106.11982 3251.98906 4105.98656 3252.08362 4105.8266 3252.11699 4105.66664 3252.08362 4105.53338 3251.98906 4105.44905 3251.84911 4105.36536 3251.60994 4105.24414 3251.41702 4105.08303 3251.25591 4104.89011 3251.13469 4104.65789 3251.05343 4104.51793 3250.9691 4104.42338 3250.83584 4104.39 3250.67588 4104.39 3249.84101 4104.4163 3249.69837 4104.49174 3249.57448 4104.60641 3249.48564 4104.74521 3249.44353 4104.87231 3249.42921 4105.08736 3249.35396 4105.28028 3249.23274 4105.44139 3249.07163 4105.48791 3248.99759 4105.59881 3248.88161 4105.74636 3248.81854 4105.90684 3248.81854 4106.05439 3248.88161 4106.16529 3248.99759 4106.21181 3249.07163 4106.37292 3249.23274 4106.56584 3249.35396 4106.78089 3249.42921 4107.02976 3249.45725 4107.5447 3249.45725 4107.5447 3247.80143 4106.0659 3247.80143 4105.91283 3247.77098 4105.78306 3247.68427 4105.69635 3247.5545 4105.6659 3247.40143 4105.6659 3245.92977 4105.69635 3245.7767 4105.78306 3245.64693 4105.91283 3245.56022 4106.0659 3245.52977 4107.5447 3245.52977 4107.5447 3243.87395 4107.02976 3243.87395 4106.78089 3243.90199 4106.56584 3243.97724 4106.37292 3244.09846 4106.21181 3244.25957 4106.16529 3244.33361 4106.05439 3244.44959 4105.90684 3244.51266 4105.74636 3244.51266 4105.59881 3244.44959 4105.48791 3244.33361 4105.44139 3244.25957 4105.28028 3244.09846 4105.08736 3243.97724 4104.87231 3243.90199 4104.62344 3243.87395 4101.51876 3243.87395 4101.26989 3243.90199 4101.05484 3243.97724 4100.86192 3244.09846 4100.70081 3244.25957 4100.57959 3244.45249 4100.50434 3244.66754 4100.49 3244.79479 4100.4479 3244.93359 4100.35906 3245.04826 4100.23517 3245.1237 4100.09252 3245.15 4097.24249 3245.15 4097.09409 3245.12145 4096.96686 3245.03988 4095.00582 3243.1752 4094.53318 3242.77805 4094.04941 3242.47104 4093.53097 3242.22709 4092.98605 3242.05003 4092.42323 3241.94267 4091.8514 3241.90669 4091.27957 3241.94267 4090.71675 3242.05003 4090.17183 3242.22709 4089.65339 3242.47104 4089.16962 3242.77805 4088.72815 3243.14327 4088.33593 3243.56095 4087.99915 3244.02449 4087.72312 3244.52658 4087.5122 3245.05931 4087.36971 3245.61427 4087.29789 3246.18272 4087.29789 3246.75568 4087.36971 3247.32413 4087.5122 3247.87909 4087.72312 3248.41182 4087.99915 3248.91391 4088.33593 3249.37745 4088.72815 3249.79513 4089.16962 3250.16035 4089.65339 3250.46736 4090.17183 3250.71131 4090.71675 3250.88837 4091.27957 3250.99573 4091.8514 3251.03171 4092.42323 3250.99573 4092.98605 3250.88837 4093.53097 3250.71131 4094.04941 3250.46736 4094.53459 3250.15945 4094.90794 3249.8558 4096.96646 3247.90001 4097.09364 3247.81852 4097.24198 3247.79 4100.0763 3247.79 4100.22937 3247.82045 4100.35914 3247.90716 4100.44585 3248.03693 4100.4763 3248.19 4100.4763 3248.41479 4100.50434 3248.66366 4100.57959 3248.87871 4100.70081 3249.07163 4100.86192 3249.23274 4101.05484 3249.35396 4101.26989 3249.42921 4101.39479 3249.44328 4101.53359 3249.48539 4101.64826 3249.57423 4101.7237 3249.69812 4101.75 3249.84077 4101.75 3250.6314 4101.71955 3250.78447 4101.63284 3250.91424 4101.50307 3251.00095 4101.04714 3251.05944 4100.83209 3251.13469 4100.63917 3251.25591 4100.47806 3251.41702 4100.35684 3251.60994 4100.28159 3251.82499 4100.25355 3252.07386 4100.25355 3255.43054 4100.28159 3255.67941 4100.35684 3255.89446 4100.47806 3256.08738 4100.63917 3256.24849 4100.83209 3256.36971 4101.04714 3256.44496 4101.29601 3256.473 4104.42619 3256.473 4104.67506 3256.44496 4104.89011 3256.36971 4105.08303 3256.24849 4105.24414 3256.08738 4105.36536 3255.89446 4105.44905 3255.65529 4105.53338 3255.51534 4105.66664 3255.42078 4105.8266 3255.38741 4105.98656 3255.42078 4106.11982 3255.51534 4106.20415 3255.65529 4106.28784 3255.89446 4106.40906 3256.08738 4106.57017 3256.24849 4106.76309 3256.36971 4106.97814 3256.44496 4107.11479 3256.46035 4107.25359 3256.50246 4107.36826 3256.5913 4107.4437 3256.71519 4107.47 3256.85784 4107.47 3260.70755 4107.43955 3260.86063 4107.35284 3260.9904 4100.2804 3268.06284 4100.15063 3268.14955 4099.99755 3268.18 4088.13096 3268.18 4087.83601 3268.211 4087.574 3268.29613 4087.33084 3268.43652 4087.16551 3268.57773 4079.0204 3276.72284 4078.89063 3276.80955 4078.73755 3276.84 4061.79741 3276.84 4061.65476 3276.8137 4061.53087 3276.73826 4061.44203 3276.62359 4061.39992 3276.48479 4061.37171 3276.23439 4061.29646 3276.01934 4061.17524 3275.82642 4061.01413 3275.66531 4060.82121 3275.54409 4060.60616 3275.46884 4060.46521 3275.45296 4060.32641 3275.41085 4060.21174 3275.32201 4060.1363 3275.19812 4060.11 3275.05548 4060.11 3268.55096 4060.079 3268.25601 4059.99387 3267.994 4059.85348 3267.75084 4059.71227 3267.58551 4042.11716 3249.9904 4042.03045 3249.86063 4042 3249.70755 4042 3228.9056 4042.0263 3228.76295 4042.10174 3228.63906 4042.21641 3228.55022 4042.35521 3228.50812 4042.49596 3228.49226 4042.71101 3228.41701 4042.90393 3228.29579 4043.06504 3228.13468 4043.18626 3227.94176 4043.26151 3227.72671 4043.28985 3227.47521 4043.33195 3227.33641 4043.42079 3227.22174 4043.54468 3227.1463 4043.68733 3227.12 4044.38904 3227.12 4044.68399 3227.089 4044.946 3227.00387 4045.18916 3226.86348 4045.35449 3226.72227 4048.47856 3223.5982 4048.6652 3223.36772 4048.79027 3223.12226 4048.86294 3222.85104 4048.88 3222.63428 4048.88 3149.34245 4048.91045 3149.18937 4048.99716 3149.0596 4050.95569 3147.10107 4051.08962 3147.01267 4051.24751 3146.98401 4051.40396 3147.01972 4051.53378 3147.11404 4051.63439 3147.30411 4051.75561 3147.49703 4051.91672 3147.65814 4052.10964 3147.77936 4052.34881 3147.86305 4052.48876 3147.94738 4052.58332 3148.08064 4052.61669 3148.2406 4052.58332 3148.40056 4052.48876 3148.53382 4052.34881 3148.61815 4052.10964 3148.70184 4051.91672 3148.82306 4051.75561 3148.98417 4051.63439 3149.17709 4051.55914 3149.39214 4051.5311 3149.64101 4051.5311 3152.77119 4051.55914 3153.02006 4051.63439 3153.23511 4051.75561 3153.42803 4051.91672 3153.58914 4052.10964 3153.71036 4052.32469 3153.78561 4052.57356 3153.81365 4055.93024 3153.81365 4056.17911 3153.78561 4056.39416 3153.71036 4056.58708 3153.58914 4056.74819 3153.42803 4056.86941 3153.23511 4056.94466 3153.02006 4056.9727 3152.72 4057.00315 3152.56693 4057.08986 3152.43716 4057.21963 3152.35045 4057.3727 3152.32 4058.55735 3152.32 4058.7 3152.3463 4058.82389 3152.42174 4058.91273 3152.53641 4058.95483 3152.67521 4058.96859 3152.79731 4059.04384 3153.01236 4059.16506 3153.20528 4059.32617 3153.36639 4059.51909 3153.48761 4059.73414 3153.56286 4059.98301 3153.5909 4063.48139 3153.5909 4063.73026 3153.56286 4063.94531 3153.48761 4064.13823 3153.36639 4064.29934 3153.20528 4064.42056 3153.01236 4064.49477 3152.80027 4064.52572 3152.48137 4064.56637 3152.34054 4064.65501 3152.22381 4064.77976 3152.14685 4064.92385 3152.12 4068.74282 3152.12 4068.89119 3152.14854 4069.01839 3152.23007 4070.98597 3154.1002 4071.45262 3154.49095 4071.93639 3154.79796 4072.45483 3155.04191 4072.99975 3155.21897 4073.56257 3155.32633 4074.1344 3155.36231 4074.70623 3155.32633 4075.26905 3155.21897 4075.81397 3155.04191 4076.33241 3154.79796 4076.81618 3154.49095 4077.25765 3154.12573 4077.64987 3153.70805 4077.98665 3153.24451 4078.26268 3152.74242 4078.4736 3152.20969 4078.61609 3151.65473 4078.68791 3151.08628 4078.68791 3150.51332 4078.61609 3149.94487 4078.4736 3149.38991 4078.26268 3148.85718 4077.98665 3148.35509 4077.64987 3147.89155 4077.25765 3147.47387 4076.81618 3147.10865 4076.33241 3146.80164 4075.81397 3146.55769 4075.26905 3146.38063 4074.70623 3146.27327 4074.1344 3146.23729 4073.56257 3146.27327 4072.99975 3146.38063 4072.45483 3146.55769 4071.93639 3146.80164 4071.4511 3147.10962 4071.07635 3147.41398 4069.0185 3149.36993 4068.8913 3149.45146 4068.74293 3149.48 4064.87939 3149.48 4064.71943 3149.44662 4064.58617 3149.35207 4064.50183 3149.21211 4064.42056 3148.97984 4064.29934 3148.78692 4064.13823 3148.62581 4064.06419 3148.57929 4063.94821 3148.46839 4063.88514 3148.32084 4063.88514 3148.16036 4063.94821 3148.01281 4064.06419 3147.90191 4064.13823 3147.85539 4064.29934 3147.69428 4064.42056 3147.50136 4064.49581 3147.28631 4064.52385 3147.03744 4064.52385 3146.5225 4062.86803 3146.5225 4062.86803 3148.0013 4062.83758 3148.15437 4062.75087 3148.28414 4062.6211 3148.37085 4062.46803 3148.4013 4060.99637 3148.4013 4060.8433 3148.37085 4060.71353 3148.28414 4060.62682 3148.15437 4060.59637 3148.0013 4060.59637 3146.5225 4058.94055 3146.5225 4058.94055 3147.03744 4058.96859 3147.28631 4059.04384 3147.50136 4059.16506 3147.69428 4059.32617 3147.85539 4059.40021 3147.90191 4059.51619 3148.01281 4059.57926 3148.16036 4059.57926 3148.32084 4059.51619 3148.46839 4059.40021 3148.57929 4059.32617 3148.62581 4059.16506 3148.78692 4059.04384 3148.97984 4058.96859 3149.19489 4058.95396 3149.32479 4058.91185 3149.46359 4058.82301 3149.57826 4058.69912 3149.6537 4058.55647 3149.68 4057.3292 3149.68 4057.16924 3149.64662 4057.03598 3149.55207 4056.95165 3149.41211 4056.86941 3149.17709 4056.74819 3148.98417 4056.58708 3148.82306 4056.39416 3148.70184 4056.15499 3148.61815 4056.01504 3148.53382 4055.92048 3148.40056 4055.88711 3148.2406 4055.92048 3148.08064 4056.01504 3147.94738 4056.15499 3147.86305 4056.39416 3147.77936 4056.58708 3147.65814 4056.74819 3147.49703 4056.86941 3147.30411 4056.94466 3147.08906 4056.9727 3146.84019 4056.9727 3143.71001 4056.94466 3143.46114 4056.86941 3143.24609 4056.74819 3143.05317 4056.58708 3142.89206 4056.39416 3142.77084 4056.17911 3142.69559 4055.93024 3142.66755 4052.57356 3142.66755 4052.32469 3142.69559 4052.10964 3142.77084 4051.91672 3142.89206 4051.75561 3143.05317 4051.63439 3143.24609 4051.55914 3143.46114 4051.54408 3143.59479 4051.50198 3143.73359 4051.41314 3143.84826 4051.28925 3143.9237 4051.1466 3143.95 4050.94096 3143.95 4050.64601 3143.981 4050.384 3144.06613 4050.14084 3144.20652 4049.97551 3144.34773 4046.64144 3147.6818 4046.4548 3147.91228 4046.32973 3148.15774 4046.25706 3148.42896 4046.24 3148.64572 4046.24 3221.93755 4046.20955 3222.09063 4046.12284 3222.2204 4043.9804 3224.36284 4043.85063 3224.44955 4043.68744 3224.48 4043.54479 3224.4537 4043.4209 3224.37826 4043.33206 3224.26359 4043.28996 3224.12479 4043.26151 3223.87229 4043.18626 3223.65724 4043.06504 3223.46432 4042.90393 3223.30321 4042.71101 3223.18199 4042.49596 3223.10674 4042.24709 3223.0787 4039.11691 3223.0787 4038.86804 3223.10674 4038.65299 3223.18199 4038.46007 3223.30321 4038.29896 3223.46432 4038.17774 3223.65724 4038.09405 3223.89641 4038.00972 3224.03636 4037.87646 3224.13092 4037.7165 3224.16429 4037.55654 3224.13092 4037.42328 3224.03636 4037.33895 3223.89641 4037.25526 3223.65724 4037.13404 3223.46432 4036.97293 3223.30321 4036.78001 3223.18199 4036.54789 3223.10077 4036.40793 3223.01644 4036.31338 3222.88317 4036.28 3222.72321 4036.28 3221.8883 4036.3063 3221.74565 4036.38174 3221.62176 4036.49641 3221.53292 4036.63521 3221.49082 4036.76221 3221.47651 4036.97726 3221.40126 4037.17018 3221.28004 4037.33129 3221.11893 4037.37781 3221.04489 4037.48871 3220.92891 4037.63626 3220.86584 4037.79674 3220.86584 4037.94429 3220.92891 4038.05519 3221.04489 4038.10171 3221.11893 4038.26282 3221.28004 4038.45574 3221.40126 4038.67079 3221.47651 4038.91966 3221.50455 4039.4346 3221.50455 4039.4346 3219.84873 4037.9558 3219.84873 4037.80273 3219.81828 4037.67296 3219.73157 4037.58625 3219.6018 4037.5558 3219.44873 4037.5558 3217.97707 4037.58625 3217.824 4037.67296 3217.69423 4037.80273 3217.60752 4037.9558 3217.57707 4039.4346 3217.57707 4039.4346 3215.92125 4038.91966 3215.92125 4038.67079 3215.94929 4038.45574 3216.02454 4038.26282 3216.14576 4038.10171 3216.30687 4038.05519 3216.38091 4037.94429 3216.49689 4037.79674 3216.55996 4037.63626 3216.55996 4037.48871 3216.49689 4037.37781 3216.38091 4037.33129 3216.30687 4037.17018 3216.14576 4036.97726 3216.02454 4036.74789 3215.94428 4036.60793 3215.85995 4036.51338 3215.72668 4036.48 3215.56673 4036.48 3212.88375 4036.50852 3212.73542 4036.59001 3212.60824 4038.45909 3210.64098 4038.84935 3210.17478 4039.15636 3209.69101 4039.40031 3209.17257 4039.57737 3208.62765 4039.68473 3208.06483 4039.72071 3207.493 4039.68473 3206.92117 4039.57737 3206.35835 4039.40031 3205.81343 4039.15636 3205.29499 4038.84935 3204.81122 4038.48413 3204.36975 4038.06645 3203.97753 4037.60291 3203.64075 4037.10082 3203.36472 4036.56809 3203.1538 4036.01313 3203.01131 4035.44468 3202.93949 4034.87172 3202.93949 4034.30327 3203.01131 4033.74831 3203.1538 4033.21558 3203.36472 4032.71349 3203.64075 4032.24995 3203.97753 4031.83227 3204.36975 4031.46705 3204.81122 4031.16004 3205.29499 4030.91609 3205.81343 4030.73903 3206.35835 4030.63167 3206.92117 4030.59569 3207.493 4030.63167 3208.06483 4030.73903 3208.62765 4030.91609 3209.17257 4031.16004 3209.69101 4031.46788 3210.17607 4031.77334 3210.55111 4033.72988 3212.60877 4033.81145 3212.73599 4033.84 3212.8844 4033.84 3215.52125 4033.81312 3215.66541 4033.73609 3215.7902 4033.61926 3215.87883 4033.47833 3215.91941 4033.15669 3215.95038 4032.94474 3216.02454 4032.75182 3216.14576 4032.59071 3216.30687 4032.46949 3216.49979 4032.39424 3216.71484 4032.3662 3216.96371 4032.3662 3220.46209 4032.39424 3220.71096 4032.46949 3220.92601 4032.59071 3221.11893 4032.75182 3221.28004 4032.94474 3221.40126 4033.15979 3221.47651 4033.28479 3221.49059 4033.42359 3221.5327 4033.53826 3221.62154 4033.6137 3221.74543 4033.64 3221.88808 4033.64 3222.6787 4033.60955 3222.83177 4033.52284 3222.96154 4033.39307 3223.04825 4032.93704 3223.10674 4032.72199 3223.18199 4032.52907 3223.30321 4032.36796 3223.46432 4032.24674 3223.65724 4032.17149 3223.87229 4032.14345 3224.12116 4032.14345 3227.47784 4032.17149 3227.72671 4032.24674 3227.94176 4032.36796 3228.13468 4032.52907 3228.29579 4032.72199 3228.41701 4032.93704 3228.49226 4033.18591 3228.5203 4036.31609 3228.5203 4036.56496 3228.49226 4036.78001 3228.41701 4036.97293 3228.29579 4037.13404 3228.13468 4037.25526 3227.94176 4037.33895 3227.70259 4037.42328 3227.56264 4037.55654 3227.46808 4037.7165 3227.43471 4037.87646 3227.46808 4038.00972 3227.56264 4038.09405 3227.70259 4038.17774 3227.94176 4038.29896 3228.13468 4038.46007 3228.29579 4038.65299 3228.41701 4038.86804 3228.49226 4039.00479 3228.50767 4039.14359 3228.54977 4039.25826 3228.63861 4039.3337 3228.7625 4039.36 3228.90515 4039.36 3250.39904 4039.391 3250.69399 4039.47613 3250.956 4039.61652 3251.19916 4039.75773 3251.36449 4057.35284 3268.9596 4057.43955 3269.08937 4057.47 3269.24245 4057.47 3275.05597 4057.4437 3275.19862 4057.36826 3275.32251 4057.25359 3275.41135 4057.11479 3275.45346 4056.97824 3275.46884 4056.76319 3275.54409 4056.57027 3275.66531 4056.40916 3275.82642 4056.28794 3276.01934 4056.20425 3276.25851 4056.11992 3276.39846 4055.98666 3276.49302 4055.8267 3276.52639 4055.66674 3276.49302 4055.53348 3276.39846 4055.44915 3276.25851 4055.36546 3276.01934 4055.24424 3275.82642 4055.08313 3275.66531 4054.89021 3275.54409 4054.67516 3275.46884 4054.42629 3275.4408 4051.29611 3275.4408 4051.04724 3275.46884 4050.83219 3275.54409 4050.63927 3275.66531 4050.47816 3275.82642 4050.35694 3276.01934 4050.28169 3276.23439 4050.25365 3276.48326 4050.25365 3279.83994 4050.28169 3280.08881 4050.35694 3280.30386 4050.47816 3280.49678 4050.63927 3280.65789 4050.83219 3280.77911 4051.04724 3280.85436 4051.18479 3280.86986 4051.32359 3280.91196 4051.43826 3281.0008 4051.5137 3281.12469 4051.54 3281.26734 4051.54 3281.7126 4051.50662 3281.87255 4051.41207 3282.00582 4051.27211 3282.09015 4051.05494 3282.16614 4050.86202 3282.28736 4050.70091 3282.44847 4050.57969 3282.64139 4050.50444 3282.85644 4050.4764 3283.10531 4050.4764 3286.60369 4050.50444 3286.85256 4050.57969 3287.06761 4050.70091 3287.26053 4050.86202 3287.42164 4051.05494 3287.54286 4051.2669 3287.61703 4051.58836 3287.64799 4051.72927 3287.68857 4051.84609 3287.77721 4051.92312 3287.90199 4051.95 3288.04615 4051.95 3288.98001 4051.93371 3289.09301 4051.88616 3289.1968 4051.63509 3289.57362 4051.4495 3289.88426 4051.32235 3290.22304 4051.25774 3290.57907 4051.25774 3290.94093 4051.32235 3291.29696 4051.4495 3291.63574 4051.63509 3291.94638 4051.87317 3292.21888 4052.15608 3292.44449 4052.47472 3292.61596 4052.81887 3292.72778 4053.17745 3292.77635 4053.53893 3292.76012 4053.89171 3292.6796 4054.22445 3292.53738 4054.52644 3292.33804 4054.78799 3292.08797 4055.00068 3291.79523 4055.15768 3291.46921 4055.25395 3291.1204 4055.28638 3290.76 4055.25395 3290.3996 4055.15768 3290.05079 4054.99951 3289.72234 4054.87781 3289.54932 4054.65322 3289.19884 4054.60613 3289.09547 4054.59 3288.98303 4054.59 3288.00074 4054.62338 3287.84079 4054.71793 3287.70752 4054.85789 3287.62319 4055.08746 3287.54286 4055.28038 3287.42164 4055.44149 3287.26053 4055.48801 3287.18649 4055.59891 3287.07051 4055.74646 3287.00744 4055.90694 3287.00744 4056.05449 3287.07051 4056.16539 3287.18649 4056.21191 3287.26053 4056.37302 3287.42164 4056.56594 3287.54286 4056.78099 3287.61811 4057.02986 3287.64615 4057.5448 3287.64615 4057.5448 3285.99033 4056.066 3285.99033 4055.91293 3285.95988 4055.78316 3285.87317 4055.69645 3285.7434 4055.666 3285.59033 4055.666 3284.11867 4055.69645 3283.9656 4055.78316 3283.83583 4055.91293 3283.74912 4056.066 3283.71867 4057.5448 3283.71867 4057.5448 3282.06285 4057.02986 3282.06285 4056.78099 3282.09089 4056.56594 3282.16614 4056.37302 3282.28736 4056.21191 3282.44847 4056.16539 3282.52251 4056.05449 3282.63849 4055.90694 3282.70156 4055.74646 3282.70156 4055.59891 3282.63849 4055.48801 3282.52251 4055.44149 3282.44847 4055.28038 3282.28736 4055.08746 3282.16614 4054.87241 3282.09089 4054.58 3282.06285 4054.42693 3282.0324 4054.29716 3281.94569 4054.21045 3281.81592 4054.18 3281.66285 4054.18 3281.26761 4054.2063 3281.12496 4054.28174 3281.00107 4054.39641 3280.91223 4054.53521 3280.87013 4054.67516 3280.85436 4054.89021 3280.77911 4055.08313 3280.65789 4055.24424 3280.49678 4055.36546 3280.30386 4055.44915 3280.06469 4055.53348 3279.92474 4055.66674 3279.83018 4055.8267 3279.79681 4055.98666 3279.83018 4056.11992 3279.92474 4056.20425 3280.06469 4056.28794 3280.30386 4056.40916 3280.49678 4056.57027 3280.65789 4056.76319 3280.77911 4056.97824 3280.85436 4057.22711 3280.8824 4060.35729 3280.8824 4060.60616 3280.85436 4060.82121 3280.77911 4061.01413 3280.65789 4061.17524 3280.49678 4061.29646 3280.30386 4061.37171 3280.08881 4061.40028 3279.83521 4061.44239 3279.69641 4061.53123 3279.58174 4061.65512 3279.5063 4061.79777 3279.48 4079.42904 3279.48 4079.72399 3279.449 4079.986 3279.36387 4080.22916 3279.22348 4080.39449 3279.08227 4088.5396 3270.93716 4088.66937 3270.85045 4088.82245 3270.82 4099.2 3270.82 4099.35307 3270.85045 4099.48284 3270.93716 4099.56955 3271.06693 4099.6 3271.22 4099.6 3275.05551 4099.5737 3275.19816 4099.49826 3275.32205 4099.38359 3275.41089 4099.24479 3275.45299 4099.10414 3275.46884 4098.88909 3275.54409 4098.69617 3275.66531 4098.53506 3275.82642 4098.41384 3276.01934 4098.33015 3276.25851 4098.24582 3276.39846 4098.11256 3276.49302 4097.9526 3276.52639 4097.79264 3276.49302 4097.65938 3276.39846 4097.57505 3276.25851 4097.49136 3276.01934 4097.37014 3275.82642 4097.20903 3275.66531 4097.01611 3275.54409 4096.80106 3275.46884 4096.55219 3275.4408 4093.42201 3275.4408 4093.17314 3275.46884 4092.95809 3275.54409 4092.76517 3275.66531 4092.60406 3275.82642 4092.48284 3276.01934 4092.40759 3276.23439 4092.37955 3276.48326 4092.37955 3279.83994 4092.40759 3280.08881 4092.48284 3280.30386 4092.60406 3280.49678 4092.76517 3280.65789 4092.95809 3280.77911 4093.17314 3280.85436 4093.31479 3280.87032 4093.45359 3280.91242 4093.56826 3281.00126 4093.6437 3281.12515 4093.67 3281.2678 4093.67 3281.66285 4093.64324 3281.8067 4093.56653 3281.93131 4093.45014 3282.01999 4093.30965 3282.06088 4092.99972 3282.09176 4092.78714 3282.16614 4092.59422 3282.28736 4092.43311 3282.44847 4092.31189 3282.64139 4092.23664 3282.85644 4092.2086 3283.10531 4092.2086 3286.60369 4092.23664 3286.85256 4092.31189 3287.06761 4092.43311 3287.26053 4092.59422 3287.42164 4092.78714 3287.54286 4092.99921 3287.61706 4093.31858 3287.64802 4093.45942 3287.68865 4093.57617 3287.77729 4093.65314 3287.90205 4093.68 3288.04615 4093.68 3288.98305 4093.66387 3289.09549 4093.61678 3289.19887 4093.36909 3289.57362 4093.1835 3289.88426 4093.05635 3290.22304 4092.99174 3290.57907 4092.99174 3290.94093 4093.05635 3291.29696 4093.1835 3291.63574 4093.36909 3291.94638 4093.60717 3292.21888 4093.89008 3292.44449 4094.20872 3292.61596 4094.55287 3292.72778 4094.91145 3292.77635 4095.27293 3292.76012 4095.62571 3292.6796 4095.95845 3292.53738 4096.26044 3292.33804 4096.52199 3292.08797 4096.73468 3291.79523 4096.89168 3291.46921 4096.98795 3291.1204 4097.02038 3290.76 4096.98795 3290.3996 4096.89168 3290.05079 4096.73359 3289.72251 4096.60821 3289.5447 4096.38384 3289.19677 4096.33629 3289.09298 4096.32 3288.97998 4096.32 3288.00151 4096.35338 3287.84156 4096.44793 3287.70829 4096.58789 3287.62396 4096.81966 3287.54286 4097.01258 3287.42164 4097.17369 3287.26053 4097.22021 3287.18649 4097.33111 3287.07051 4097.47866 3287.00744 4097.63914 3287.00744 4097.78669 3287.07051 4097.89759 3287.18649 4097.94411 3287.26053 4098.10522 3287.42164 4098.29814 3287.54286 4098.51319 3287.61811 4098.76206 3287.64615 4099.277 3287.64615 4099.277 3285.99033 4097.7982 3285.99033 4097.64513 3285.95988 4097.51536 3285.87317 4097.42865 3285.7434 4097.3982 3285.59033 4097.3982 3284.11867 4097.42865 3283.9656 4097.51536 3283.83583 4097.64513 3283.74912 4097.7982 3283.71867 4099.277 3283.71867 4099.277 3282.06285 4098.76206 3282.06285 4098.51319 3282.09089 4098.29814 3282.16614 4098.10522 3282.28736 4097.94411 3282.44847 4097.89759 3282.52251 4097.78669 3282.63849 4097.63914 3282.70156 4097.47866 3282.70156 4097.33111 3282.63849 4097.22021 3282.52251 4097.17369 3282.44847 4097.01258 3282.28736 4096.81966 3282.16614 4096.57789 3282.08154 4096.43793 3281.99721 4096.34338 3281.86394 4096.31 3281.70399 4096.31 3281.26715 4096.3363 3281.1245 4096.41174 3281.00061 4096.52641 3280.91177 4096.66521 3280.86966 4096.80106 3280.85436 4097.01611 3280.77911 4097.20903 3280.65789 4097.37014 3280.49678 4097.49136 3280.30386 4097.57505 3280.06469 4097.65938 3279.92474 4097.79264 3279.83018 4097.9526 3279.79681 4098.11256 3279.83018 4098.24582 3279.92474 4098.33015 3280.06469 4098.41384 3280.30386 4098.53506 3280.49678 4098.69617 3280.65789 4098.88909 3280.77911 4099.10414 3280.85436 4099.35301 3280.8824 4102.48319 3280.8824 4102.73206 3280.85436 4102.94711 3280.77911 4103.14003 3280.65789 4103.30114 3280.49678 4103.42236 3280.30386 4103.49761 3280.08881 4103.52618 3279.83521 4103.56829 3279.69641 4103.65713 3279.58174 4103.78102 3279.5063 4103.92367 3279.48 4105.89822 3279.48 4106.05117 3279.5104 4106.18087 3279.59697 4112.76266 3286.17008 4112.8495 3286.29992 4112.88 3286.45311 4112.88 3293.06915 4112.84955 3293.22222 4112.76284 3293.35199 4112.63307 3293.4387 4112.48 3293.46915 4111.75891 3293.46915 4111.51004 3293.49719 4111.29499 3293.57244 4111.10207 3293.69366 4110.94096 3293.85477 4110.81974 3294.04769 4110.74449 3294.26274 4110.71645 3294.51161 4110.71645 3295.64779 4110.74449 3295.89666 4110.81974 3296.11171 4110.94096 3296.30463 4111.10207 3296.46574 4111.29499 3296.58696 4111.53416 3296.67065 4111.67411 3296.75498 4111.76867 3296.88824 4111.80204 3297.0482 4111.76867 3297.20816 4111.67411 3297.34142 4111.53416 3297.42575 4111.29499 3297.50944 4111.14557 3297.58217 4110.75436 3297.68649 4110.65129 3297.7 4085.95387 3297.7 4085.83979 3297.68339 4085.73518 3297.63493 4085.13037 3297.24002 4084.79671 3297.0974 4084.44393 3297.01688 4084.08245 3297.00065 4083.72387 3297.04922 4083.37972 3297.16104 4083.06108 3297.33251 4082.77817 3297.55812 4082.54009 3297.83062 4082.3545 3298.14126 4082.22735 3298.48004 4082.16274 3298.83607 4082.16274 3299.19793 4082.22735 3299.55396 4082.3545 3299.89274 4082.54009 3300.20338 4082.77817 3300.47588 4083.06108 3300.70149 4083.37972 3300.87296 4083.72387 3300.98478 4084.08245 3301.03335 4084.44393 3301.01712 4084.79671 3300.9366 4085.131 3300.79372 4085.73175 3300.40434 4085.83587 3300.35642 4085.94931 3300.34 4094.0504 3300.34 4094.22125 3300.37832 4094.35937 3300.48595 4094.43828 3300.64226 4094.44286 3300.8173 4094.37224 3300.97753 4094.23995 3301.09224 4093.89008 3301.28051 4093.60717 3301.50612 4093.36909 3301.77862 4093.1835 3302.08926 4093.05635 3302.42804 4092.99174 3302.78407 4092.99174 3303.14593 4093.05635 3303.50196 4093.1835 3303.84074 4093.36909 3304.15138 4093.60717 3304.42388 4093.89008 3304.64949 4094.20894 3304.82107 4094.34122 3304.93577 4094.41184 3305.09599 4094.40727 3305.27102 4094.32838 3305.42732 4094.19029 3305.53496 4094.01945 3305.57331 4055.04477 3305.57971 4054.9312 3305.56327 4054.82698 3305.51526 4054.22591 3305.12524 4053.89171 3304.9824 4053.53893 3304.90188 4053.17745 3304.88565 4052.81887 3304.93422 4052.47472 3305.04604 4052.15608 3305.21751 4051.87317 3305.44312 4051.63509 3305.71562 4051.4495 3306.02626 4051.32235 3306.36504 4051.25774 3306.72107 4051.25774 3307.08293 4051.32235 3307.43896 4051.4495 3307.77774 4051.63509 3308.08838 4051.87317 3308.36088 4052.15608 3308.58649 4052.47472 3308.75796 4052.81887 3308.86978 4053.17745 3308.91835 4053.53893 3308.90212 4053.89171 3308.8216 4054.22546 3308.67895 4054.82989 3308.28468 4054.93439 3308.2363 4055.04836 3308.21971 4085.16847 3308.21476 4085.33934 3308.25306 4085.47748 3308.36068 4085.55641 3308.517 4085.561 3308.69204 4085.49039 3308.85228 4085.35809 3308.967 4085.03008 3309.14351 4084.74717 3309.36912 4084.50909 3309.64162 4084.3235 3309.95226 4084.19635 3310.29104 4084.13174 3310.64707 4084.13174 3311.00893 4084.19635 3311.36496 4084.3235 3311.70374 4084.50909 3312.01438 4084.74717 3312.28688 4085.03008 3312.51249 4085.35579 3312.68776 4085.48808 3312.80247 4085.5587 3312.9627 4085.55412 3313.13774 4085.47521 3313.29405 4085.3371 3313.40168 4085.16624 3313.44 4081.61666 3313.44 4081.5048 3313.42404 4081.40187 3313.37744 4081.03856 3313.14611 4080.79845 3312.98762 4080.46571 3312.8454 4080.11293 3312.76488 4079.75145 3312.74865 4079.39287 3312.79722 4079.04872 3312.90904 4078.73008 3313.08051 4078.44717 3313.30612 4078.20909 3313.57862 4078.0235 3313.88926 4077.89635 3314.22804 4077.83174 3314.58407 4077.83174 3314.94593 4077.89635 3315.30196 4078.0235 3315.64074 4078.20909 3315.95138 4078.44717 3316.22388 4078.73008 3316.44949 4079.04872 3316.62096 4079.39287 3316.73278 4079.75145 3316.78135 4080.11293 3316.76512 4080.46571 3316.6846 4080.79917 3316.54207 4081.40533 3316.14532 4081.51009 3316.09668 4081.62439 3316.08 4087.54497 3316.08 4087.71582 3316.11832 4087.85393 3316.22595 4087.93284 3316.38226 4087.93743 3316.5573 4087.86681 3316.71753 4087.73452 3316.83224 4087.39208 3317.01651 4087.10917 3317.24212 4086.87109 3317.51462 4086.6855 3317.82526 4086.55835 3318.16404 4086.49374 3318.52007 4086.49374 3318.88193 4086.55835 3319.23796 4086.6855 3319.57674 4086.87109 3319.88738 4087.10917 3320.15988 4087.39208 3320.38549 4087.7308 3320.56776 4087.86309 3320.68247 4087.93371 3320.8427 4087.92913 3321.01774 4087.85022 3321.17405 4087.7121 3321.28168 4087.54125 3321.32 4083.59047 3321.32 4083.47662 3321.30345 4083.37218 3321.25519 4082.7686 3320.86211 4082.43471 3320.7194 4082.08193 3320.63888 4081.72045 3320.62265 4081.36187 3320.67122 4081.01772 3320.78304 4080.69908 3320.95451 4080.41617 3321.18012 4080.17809 3321.45262 4079.9925 3321.76326 4079.86535 3322.10204 4079.80074 3322.45807 4079.80074 3322.81993 4079.86535 3323.17596 4079.9925 3323.51474 4080.17809 3323.82538 4080.41617 3324.09788 4080.69908 3324.32349 4081.01772 3324.49496 4081.36187 3324.60678 4081.72045 3324.65535 4082.08193 3324.63912 4082.43471 3324.5586 4082.76876 3324.41582 4083.37059 3324.02462 4083.4749 3323.9765 4083.58859 3323.96 4110.64138 3323.96 4110.74445 3323.97351 4111.14823 3324.08118 4111.28499 3324.14596 4111.52416 3324.22965 4111.66411 3324.31398 4111.75867 3324.44724 4111.79204 3324.6072 4111.75867 3324.76716 4111.66411 3324.90042 4111.52416 3324.98475 4111.28499 3325.06844 4111.09207 3325.18966 4110.93096 3325.35077 4110.80974 3325.54369 4110.73449 3325.75874 4110.70645 3326.03042 4112.70678 3326.03042 4112.70678 3324.64925 4112.73722 3324.49618 4112.82393 3324.36641 4112.9537 3324.2797 4113.10678 3324.24925 4115.26743 3324.24925 4115.4205 3324.2797 4115.55027 3324.36641 4115.63698 3324.49618 4115.66742 3324.64925 4115.66742 3326.03042 4117.66775 3326.03042 Z M 4091.8514 3218.35451 L 4092.42323 3218.31853 4092.98605 3218.21117 4093.53097 3218.03411 4094.04941 3217.79016 4094.53318 3217.48315 4094.97465 3217.11793 4095.36687 3216.70025 4095.70365 3216.23671 4095.97968 3215.73462 4096.1906 3215.20189 4096.33309 3214.64693 4096.40491 3214.07848 4096.40491 3213.50552 4096.33309 3212.93707 4096.1906 3212.38211 4096.14215 3212.17918 4096.17338 3212.02837 4096.25929 3211.90053 4096.38712 3211.81463 4096.53794 3211.78339 4096.74051 3211.8317 4097.29547 3211.97419 4097.86392 3212.04601 4098.43688 3212.04601 4099.00533 3211.97419 4099.56029 3211.8317 4100.09302 3211.62078 4100.59511 3211.34475 4101.05865 3211.00797 4101.47633 3210.61575 4101.84155 3210.17428 4102.14856 3209.69051 4102.39251 3209.17207 4102.56957 3208.62715 4102.67693 3208.06433 4102.71291 3207.4925 4102.67693 3206.92067 4102.56957 3206.35785 4102.39251 3205.81293 4102.14856 3205.29449 4101.84155 3204.81072 4101.47633 3204.36925 4101.05865 3203.97703 4100.59511 3203.64025 4100.09302 3203.36422 4099.56029 3203.1533 4099.00533 3203.01081 4098.43688 3202.93899 4097.86392 3202.93899 4097.29547 3203.01081 4096.74051 3203.1533 4096.20778 3203.36422 4095.70569 3203.64025 4095.24215 3203.97703 4094.82447 3204.36925 4094.45925 3204.81072 4094.15224 3205.29449 4093.90829 3205.81293 4093.73123 3206.35785 4093.62387 3206.92067 4093.58789 3207.4925 4093.62387 3208.06433 4093.73123 3208.62715 4093.84748 3208.98493 4093.8639 3209.15867 4093.80479 3209.32286 4093.68139 3209.44627 4093.51719 3209.50538 4093.34345 3209.48896 4092.98605 3209.37283 4092.42323 3209.26547 4091.8514 3209.22949 4091.27957 3209.26547 4090.71675 3209.37283 4090.17183 3209.54989 4089.65339 3209.79384 4089.16962 3210.10085 4088.72815 3210.46607 4088.33593 3210.88375 4087.99915 3211.34729 4087.72312 3211.84938 4087.5122 3212.38211 4087.36971 3212.93707 4087.29789 3213.50552 4087.29789 3214.07848 4087.36971 3214.64693 4087.5122 3215.20189 4087.72312 3215.73462 4087.99915 3216.23671 4088.33593 3216.70025 4088.72815 3217.11793 4089.16962 3217.48315 4089.65339 3217.79016 4090.17183 3218.03411 4090.71675 3218.21117 4091.27957 3218.31853 4091.8514 3218.35451 Z M 4097.29547 3194.25769 L 4097.86392 3194.32951 4098.43688 3194.32951 4099.00533 3194.25769 4099.56029 3194.1152 4100.09302 3193.90428 4100.59511 3193.62825 4101.05865 3193.29147 4101.47633 3192.89925 4101.84155 3192.45778 4102.14856 3191.97401 4102.39251 3191.45557 4102.56957 3190.91065 4102.67693 3190.34783 4102.71291 3189.776 4102.67693 3189.20417 4102.56957 3188.64135 4102.39251 3188.09643 4102.14856 3187.57799 4101.84155 3187.09422 4101.47633 3186.65275 4101.05865 3186.26053 4100.59511 3185.92375 4100.09302 3185.64772 4099.56029 3185.4368 4099.00533 3185.29431 4098.43688 3185.22249 4097.86392 3185.22249 4097.29547 3185.29431 4096.74051 3185.4368 4096.53758 3185.48525 4096.38677 3185.45402 4096.25893 3185.36811 4096.17303 3185.24028 4096.14179 3185.08946 4096.1901 3184.88689 4096.33259 3184.33193 4096.40441 3183.76348 4096.40441 3183.19052 4096.33259 3182.62207 4096.1901 3182.06711 4095.97918 3181.53438 4095.70315 3181.03229 4095.36637 3180.56875 4094.97415 3180.15107 4094.53268 3179.78585 4094.04891 3179.47884 4093.53047 3179.23489 4092.98555 3179.05783 4092.42273 3178.95047 4091.8509 3178.91449 4091.27907 3178.95047 4090.71625 3179.05783 4090.17133 3179.23489 4089.65289 3179.47884 4089.16912 3179.78585 4088.72765 3180.15107 4088.33543 3180.56875 4087.99865 3181.03229 4087.72262 3181.53438 4087.5117 3182.06711 4087.36921 3182.62207 4087.29739 3183.19052 4087.29739 3183.76348 4087.36921 3184.33193 4087.5117 3184.88689 4087.72262 3185.41962 4087.99865 3185.92171 4088.33543 3186.38525 4088.72765 3186.80293 4089.16912 3187.16815 4089.65289 3187.47516 4090.17133 3187.71911 4090.71625 3187.89617 4091.27907 3188.00353 4091.8509 3188.03951 4092.42273 3188.00353 4092.98555 3187.89617 4093.34333 3187.77992 4093.51707 3187.7635 4093.68126 3187.82261 4093.80467 3187.94601 4093.86378 3188.11021 4093.84736 3188.28395 4093.73123 3188.64135 4093.62387 3189.20417 4093.58789 3189.776 4093.62387 3190.34783 4093.73123 3190.91065 4093.90829 3191.45557 4094.15224 3191.97401 4094.45925 3192.45778 4094.82447 3192.89925 4095.24215 3193.29147 4095.70569 3193.62825 4096.20778 3193.90428 4096.74051 3194.1152 4097.29547 3194.25769 Z M 4068.12188 3194.33001 L 4068.69033 3194.25819 4069.24529 3194.1157 4069.77802 3193.90478 4070.28011 3193.62875 4070.74365 3193.29197 4071.16133 3192.89975 4071.52655 3192.45828 4071.83356 3191.97451 4072.07751 3191.45607 4072.25457 3190.91115 4072.36193 3190.34833 4072.39791 3189.7765 4072.36193 3189.20467 4072.25457 3188.64185 4072.13832 3188.28407 4072.1219 3188.11033 4072.18101 3187.94614 4072.30441 3187.82273 4072.46861 3187.76362 4072.64235 3187.78004 4072.99975 3187.89617 4073.56257 3188.00353 4074.1344 3188.03951 4074.70623 3188.00353 4075.26905 3187.89617 4075.81397 3187.71911 4076.33241 3187.47516 4076.81618 3187.16815 4077.25765 3186.80293 4077.64987 3186.38525 4077.98665 3185.92171 4078.26268 3185.41962 4078.4736 3184.88689 4078.61609 3184.33193 4078.68791 3183.76348 4078.68791 3183.19052 4078.61609 3182.62207 4078.4736 3182.06711 4078.26268 3181.53438 4077.98665 3181.03229 4077.64987 3180.56875 4077.25765 3180.15107 4076.81618 3179.78585 4076.33241 3179.47884 4075.81397 3179.23489 4075.26905 3179.05783 4074.70623 3178.95047 4074.1344 3178.91449 4073.56257 3178.95047 4072.99975 3179.05783 4072.45483 3179.23489 4071.93639 3179.47884 4071.45262 3179.78585 4071.01115 3180.15107 4070.61893 3180.56875 4070.28215 3181.03229 4070.00612 3181.53438 4069.7952 3182.06711 4069.65271 3182.62207 4069.58089 3183.19052 4069.58089 3183.76348 4069.65271 3184.33193 4069.7952 3184.88689 4069.84365 3185.08982 4069.81242 3185.24063 4069.72651 3185.36847 4069.59868 3185.45437 4069.44786 3185.48561 4069.24529 3185.4373 4068.69033 3185.29481 4068.12188 3185.22299 4067.54892 3185.22299 4066.98047 3185.29481 4066.42551 3185.4373 4065.89278 3185.64822 4065.39069 3185.92425 4064.92715 3186.26103 4064.50947 3186.65325 4064.14425 3187.09472 4063.83724 3187.57849 4063.59329 3188.09693 4063.41623 3188.64185 4063.30887 3189.20467 4063.27289 3189.7765 4063.30887 3190.34833 4063.41623 3190.91115 4063.59329 3191.45607 4063.83724 3191.97451 4064.14425 3192.45828 4064.50947 3192.89975 4064.92715 3193.29197 4065.39069 3193.62875 4065.89278 3193.90478 4066.42551 3194.1157 4066.98047 3194.25819 4067.54892 3194.33001 4068.12188 3194.33001 Z M 4074.1349 3218.35451 L 4074.70673 3218.31853 4075.26955 3218.21117 4075.81447 3218.03411 4076.33291 3217.79016 4076.81668 3217.48315 4077.25815 3217.11793 4077.65037 3216.70025 4077.98715 3216.23671 4078.26318 3215.73462 4078.4741 3215.20189 4078.61659 3214.64693 4078.68841 3214.07848 4078.68841 3213.50552 4078.61659 3212.93707 4078.4741 3212.38211 4078.26318 3211.84938 4077.98715 3211.34729 4077.65037 3210.88375 4077.25815 3210.46607 4076.81668 3210.10085 4076.33291 3209.79384 4075.81447 3209.54989 4075.26955 3209.37283 4074.70673 3209.26547 4074.1349 3209.22949 4073.56307 3209.26547 4073.00025 3209.37283 4072.64247 3209.48908 4072.46873 3209.5055 4072.30454 3209.44639 4072.18113 3209.32299 4072.12202 3209.15879 4072.13844 3208.98505 4072.25457 3208.62765 4072.36193 3208.06483 4072.39791 3207.493 4072.36193 3206.92117 4072.25457 3206.35835 4072.07751 3205.81343 4071.83356 3205.29499 4071.52655 3204.81122 4071.16133 3204.36975 4070.74365 3203.97753 4070.28011 3203.64075 4069.77802 3203.36472 4069.24529 3203.1538 4068.69033 3203.01131 4068.12188 3202.93949 4067.54892 3202.93949 4066.98047 3203.01131 4066.42551 3203.1538 4065.89278 3203.36472 4065.39069 3203.64075 4064.92715 3203.97753 4064.50947 3204.36975 4064.14425 3204.81122 4063.83724 3205.29499 4063.59329 3205.81343 4063.41623 3206.35835 4063.30887 3206.92117 4063.27289 3207.493 4063.30887 3208.06483 4063.41623 3208.62765 4063.59329 3209.17257 4063.83724 3209.69101 4064.14425 3210.17478 4064.50947 3210.61625 4064.92715 3211.00847 4065.39069 3211.34525 4065.89278 3211.62128 4066.42551 3211.8322 4066.98047 3211.97469 4067.54892 3212.04651 4068.12188 3212.04651 4068.69033 3211.97469 4069.24529 3211.8322 4069.44822 3211.78375 4069.59903 3211.81498 4069.72687 3211.90089 4069.81277 3212.02872 4069.84401 3212.17954 4069.7957 3212.38211 4069.65321 3212.93707 4069.58139 3213.50552 4069.58139 3214.07848 4069.65321 3214.64693 4069.7957 3215.20189 4070.00662 3215.73462 4070.28265 3216.23671 4070.61943 3216.70025 4071.01165 3217.11793 4071.45312 3217.48315 4071.93689 3217.79016 4072.45533 3218.03411 4073.00025 3218.21117 4073.56307 3218.31853 4074.1349 3218.35451 Z M 4031.811 3347.68477 L 4032.4541 3347.64865 4033.08911 3347.54076 4033.70805 3347.36245 4034.30313 3347.11596 4034.86687 3346.80439 4035.39218 3346.43166 4035.87246 3346.00246 4036.30166 3345.52218 4036.67439 3344.99687 4036.98596 3344.43313 4037.23245 3343.83805 4037.41076 3343.21911 4037.51865 3342.5841 4037.55477 3341.941 4037.51865 3341.2979 4037.41076 3340.66289 4037.23245 3340.04395 4036.98596 3339.44887 4036.67439 3338.88513 4036.30166 3338.35982 4035.87246 3337.87954 4035.39218 3337.45034 4034.86687 3337.07761 4034.30313 3336.76604 4033.70805 3336.51955 4033.08911 3336.34124 4032.4541 3336.23335 4031.811 3336.19723 4031.1679 3336.23335 4030.53289 3336.34124 4029.91395 3336.51955 4029.31887 3336.76604 4028.75513 3337.07761 4028.22982 3337.45034 4027.74954 3337.87954 4027.32034 3338.35982 4026.94761 3338.88513 4026.63604 3339.44887 4026.38955 3340.04395 4026.21124 3340.66289 4026.10335 3341.2979 4026.06723 3341.941 4026.10335 3342.5841 4026.21124 3343.21911 4026.38955 3343.83805 4026.63604 3344.43313 4026.94761 3344.99687 4027.32034 3345.52218 4027.74954 3346.00246 4028.22982 3346.43166 4028.75513 3346.80439 4029.31887 3347.11596 4029.91395 3347.36245 4030.53289 3347.54076 4031.1679 3347.64865 4031.811 3347.68477 Z M 4126.299 3363.43277 L 4126.9421 3363.39665 4127.57711 3363.28876 4128.19605 3363.11045 4128.79113 3362.86396 4129.35487 3362.55239 4129.88018 3362.17966 4130.36046 3361.75046 4130.78966 3361.27018 4131.16239 3360.74487 4131.47396 3360.18113 4131.72045 3359.58605 4131.89876 3358.96711 4132.00665 3358.3321 4132.04277 3357.689 4132.00665 3357.0459 4131.89876 3356.41089 4131.72045 3355.79195 4131.47396 3355.19687 4131.16239 3354.63313 4130.78966 3354.10782 4130.36046 3353.62754 4129.88018 3353.19834 4129.35487 3352.82561 4128.79113 3352.51404 4128.19605 3352.26755 4127.57711 3352.08924 4126.9421 3351.98135 4126.299 3351.94523 4125.6559 3351.98135 4125.02089 3352.08924 4124.40195 3352.26755 4123.80687 3352.51404 4123.24313 3352.82561 4122.71782 3353.19834 4122.23754 3353.62754 4121.80834 3354.10782 4121.43561 3354.63313 4121.12404 3355.19687 4120.87755 3355.79195 4120.69924 3356.41089 4120.59135 3357.0459 4120.55523 3357.689 4120.59135 3358.3321 4120.69924 3358.96711 4120.87755 3359.58605 4121.12404 3360.18113 4121.43561 3360.74487 4121.80834 3361.27018 4122.23754 3361.75046 4122.71782 3362.17966 4123.24313 3362.55239 4123.80687 3362.86396 4124.40195 3363.11045 4125.02089 3363.28876 4125.6559 3363.39665 4126.299 3363.43277 Z M 4126.299 3119.33877 L 4126.9421 3119.30265 4127.57711 3119.19476 4128.19605 3119.01645 4128.79113 3118.76996 4129.35487 3118.45839 4129.88018 3118.08566 4130.36046 3117.65646 4130.78966 3117.17618 4131.16239 3116.65087 4131.47396 3116.08713 4131.72045 3115.49205 4131.89876 3114.87311 4132.00665 3114.2381 4132.04277 3113.595 4132.00665 3112.9519 4131.89876 3112.31689 4131.72045 3111.69795 4131.47396 3111.10287 4131.16239 3110.53913 4130.78966 3110.01382 4130.36046 3109.53354 4129.88018 3109.10434 4129.35487 3108.73161 4128.79113 3108.42004 4128.19605 3108.17355 4127.57711 3107.99524 4126.9421 3107.88735 4126.299 3107.85123 4125.6559 3107.88735 4125.02089 3107.99524 4124.40195 3108.17355 4123.80687 3108.42004 4123.24313 3108.73161 4122.71782 3109.10434 4122.23754 3109.53354 4121.80834 3110.01382 4121.43561 3110.53913 4121.12404 3111.10287 4120.87755 3111.69795 4120.69924 3112.31689 4120.59135 3112.9519 4120.55523 3113.595 4120.59135 3114.2381 4120.69924 3114.87311 4120.87755 3115.49205 4121.12404 3116.08713 4121.43561 3116.65087 4121.80834 3117.17618 4122.23754 3117.65646 4122.71782 3118.08566 4123.24313 3118.45839 4123.80687 3118.76996 4124.40195 3119.01645 4125.02089 3119.19476 4125.6559 3119.30265 4126.299 3119.33877 Z M 4031.811 3135.08677 L 4032.4541 3135.05065 4033.08911 3134.94276 4033.70805 3134.76445 4034.30313 3134.51796 4034.86687 3134.20639 4035.39218 3133.83366 4035.87246 3133.40446 4036.30166 3132.92418 4036.67439 3132.39887 4036.98596 3131.83513 4037.23245 3131.24005 4037.41076 3130.62111 4037.51865 3129.9861 4037.55477 3129.343 4037.51865 3128.6999 4037.41076 3128.06489 4037.23245 3127.44595 4036.98596 3126.85087 4036.67439 3126.28713 4036.30166 3125.76182 4035.87246 3125.28154 4035.39218 3124.85234 4034.86687 3124.47961 4034.30313 3124.16804 4033.70805 3123.92155 4033.08911 3123.74324 4032.4541 3123.63535 4031.811 3123.59923 4031.1679 3123.63535 4030.53289 3123.74324 4029.91395 3123.92155 4029.31887 3124.16804 4028.75513 3124.47961 4028.22982 3124.85234 4027.74954 3125.28154 4027.32034 3125.76182 4026.94761 3126.28713 4026.63604 3126.85087 4026.38955 3127.44595 4026.21124 3128.06489 4026.10335 3128.6999 4026.06723 3129.343 4026.10335 3129.9861 4026.21124 3130.62111 4026.38955 3131.24005 4026.63604 3131.83513 4026.94761 3132.39887 4027.32034 3132.92418 4027.74954 3133.40446 4028.22982 3133.83366 4028.75513 3134.20639 4029.31887 3134.51796 4029.91395 3134.76445 4030.53289 3134.94276 4031.1679 3135.05065 4031.811 3135.08677 Z M 4069.2125 3143.15727 L 4069.80991 3143.12113 4070.39861 3143.01325 4070.97002 3142.83519 4071.51579 3142.58956 4072.02798 3142.27993 4072.49911 3141.91082 4072.92232 3141.48761 4073.29143 3141.01648 4073.60106 3140.50429 4073.84669 3139.95852 4074.02475 3139.38711 4074.13263 3138.79841 4074.16877 3138.201 4074.13263 3137.60359 4074.02475 3137.01489 4073.84669 3136.44348 4073.60106 3135.89771 4073.29143 3135.38552 4072.92232 3134.91439 4072.49911 3134.49118 4072.02798 3134.12207 4071.51579 3133.81244 4070.97002 3133.56681 4070.39861 3133.38875 4069.80991 3133.28087 4069.2125 3133.24473 4068.61509 3133.28087 4068.02639 3133.38875 4067.45498 3133.56681 4066.90921 3133.81244 4066.39702 3134.12207 4065.92589 3134.49118 4065.50268 3134.91439 4065.13357 3135.38552 4064.82394 3135.89771 4064.57831 3136.44348 4064.40025 3137.01489 4064.29237 3137.60359 4064.25623 3138.201 4064.29237 3138.79841 4064.40025 3139.38711 4064.57831 3139.95852 4064.82394 3140.50429 4065.13357 3141.01648 4065.50268 3141.48761 4065.92589 3141.91082 4066.39702 3142.27993 4066.90921 3142.58956 4067.45498 3142.83519 4068.02639 3143.01325 4068.61509 3143.12113 4069.2125 3143.15727 Z M 4096.7715 3143.15727 L 4097.36891 3143.12113 4097.95761 3143.01325 4098.52902 3142.83519 4099.07479 3142.58956 4099.58698 3142.27993 4100.05811 3141.91082 4100.48132 3141.48761 4100.85043 3141.01648 4101.16006 3140.50429 4101.40569 3139.95852 4101.58375 3139.38711 4101.69163 3138.79841 4101.72777 3138.201 4101.69163 3137.60359 4101.58375 3137.01489 4101.40569 3136.44348 4101.16006 3135.89771 4100.85043 3135.38552 4100.48132 3134.91439 4100.05811 3134.49118 4099.58698 3134.12207 4099.07479 3133.81244 4098.52902 3133.56681 4097.95761 3133.38875 4097.36891 3133.28087 4096.7715 3133.24473 4096.17409 3133.28087 4095.58539 3133.38875 4095.01398 3133.56681 4094.46821 3133.81244 4093.95602 3134.12207 4093.48489 3134.49118 4093.06168 3134.91439 4092.69257 3135.38552 4092.38294 3135.89771 4092.13731 3136.44348 4091.95925 3137.01489 4091.85137 3137.60359 4091.81523 3138.201 4091.85137 3138.79841 4091.95925 3139.38711 4092.13731 3139.95852 4092.38294 3140.50429 4092.69257 3141.01648 4093.06168 3141.48761 4093.48489 3141.91082 4093.95602 3142.27993 4094.46821 3142.58956 4095.01398 3142.83519 4095.58539 3143.01325 4096.17409 3143.12113 4096.7715 3143.15727 Z M 4128.54534 3290.2058 L 4128.79421 3290.17776 4129.00926 3290.10251 4129.20218 3289.98129 4129.36329 3289.82018 4129.48451 3289.62726 4129.55976 3289.41221 4129.5878 3289.16334 4129.5878 3282.12166 4129.55976 3281.87279 4129.48451 3281.65774 4129.36329 3281.46482 4129.20218 3281.30371 4129.00926 3281.18249 4128.79421 3281.10724 4128.54534 3281.0792 4119.92886 3281.0792 4119.67999 3281.10724 4119.46494 3281.18249 4119.27202 3281.30371 4119.11091 3281.46482 4118.98969 3281.65774 4118.91444 3281.87279 4118.8864 3282.12166 4118.8864 3289.16334 4118.91444 3289.41221 4118.98969 3289.62726 4119.11091 3289.82018 4119.27202 3289.98129 4119.46494 3290.10251 4119.67999 3290.17776 4119.92886 3290.2058 4128.54534 3290.2058 Z M 4128.54534 3344.5358 L 4128.79421 3344.50776 4129.00926 3344.43251 4129.20218 3344.31129 4129.36329 3344.15018 4129.48451 3343.95726 4129.55976 3343.74221 4129.5878 3343.49334 4129.5878 3336.45166 4129.55976 3336.20279 4129.48451 3335.98774 4129.36329 3335.79482 4129.20218 3335.63371 4129.00926 3335.51249 4128.79421 3335.43724 4128.54534 3335.4092 4119.92886 3335.4092 4119.67999 3335.43724 4119.46494 3335.51249 4119.27202 3335.63371 4119.11091 3335.79482 4118.98969 3335.98774 4118.91444 3336.20279 4118.8864 3336.45166 4118.8864 3343.49334 4118.91444 3343.74221 4118.98969 3343.95726 4119.11091 3344.15018 4119.27202 3344.31129 4119.46494 3344.43251 4119.67999 3344.50776 4119.92886 3344.5358 4128.54534 3344.5358 Z M 4112.70678 3329.96743 L 4112.70678 3327.12097 4110.70645 3327.12097 4110.73449 3327.39266 4110.80974 3327.60771 4110.93096 3327.80063 4111.09207 3327.96174 4111.28499 3328.08296 4111.52416 3328.16665 4111.66411 3328.25098 4111.75867 3328.38424 4111.79204 3328.5442 4111.75867 3328.70416 4111.66411 3328.83742 4111.52416 3328.92175 4111.28499 3329.00544 4111.09207 3329.12666 4110.93096 3329.28777 4110.80974 3329.48069 4110.73449 3329.69574 4110.70645 3329.96743 4112.70678 3329.96743 Z M 4115.66742 3327.12097 L 4115.66742 3329.96743 4117.66775 3329.96743 4117.63971 3329.69574 4117.56446 3329.48069 4117.44324 3329.28777 4117.28213 3329.12666 4117.08921 3329.00544 4116.85004 3328.92175 4116.71009 3328.83742 4116.61553 3328.70416 4116.58216 3328.5442 4116.61553 3328.38424 4116.71009 3328.25098 4116.85004 3328.16665 4117.08921 3328.08296 4117.28213 3327.96174 4117.44324 3327.80063 4117.56446 3327.60771 4117.63971 3327.39266 4117.66775 3327.12097 4115.66742 3327.12097 Z M 4132.84925 3203.40766 L 4132.84925 3205.47085 4134.90874 3205.47085 4134.82576 3205.29449 4134.51875 3204.81072 4134.15353 3204.36925 4133.73585 3203.97703 4133.27231 3203.64025 4132.84925 3203.40766 Z M 4128.80595 3205.47085 L 4128.80595 3203.40766 4128.38289 3203.64025 4127.91935 3203.97703 4127.50167 3204.36925 4127.13645 3204.81072 4126.82944 3205.29449 4126.74646 3205.47085 4128.80595 3205.47085 Z M 4132.84925 3209.51415 L 4132.84925 3211.57734 4133.27231 3211.34475 4133.73585 3211.00797 4134.15353 3210.61575 4134.51875 3210.17428 4134.82576 3209.69051 4134.90874 3209.51415 4132.84925 3209.51415 Z M 4128.80595 3211.57734 L 4128.80595 3209.51415 4126.74646 3209.51415 4126.82944 3209.69051 4127.13645 3210.17428 4127.50167 3210.61575 4127.91935 3211.00797 4128.38289 3211.34475 4128.80595 3211.57734 Z M 4033.13655 3187.75485 L 4033.13655 3185.69166 4032.71349 3185.92425 4032.24995 3186.26103 4031.83227 3186.65325 4031.46705 3187.09472 4031.16004 3187.57849 4031.07706 3187.75485 4033.13655 3187.75485 Z M 4072.11325 3244.44755 L 4072.11325 3242.38806 4071.93689 3242.47104 4071.45312 3242.77805 4071.01165 3243.14327 4070.61943 3243.56095 4070.28265 3244.02449 4070.05006 3244.44755 4072.11325 3244.44755 Z M 4033.13655 3193.86134 L 4033.13655 3191.79815 4031.07706 3191.79815 4031.16004 3191.97451 4031.46705 3192.45828 4031.83227 3192.89975 4032.24995 3193.29197 4032.71349 3193.62875 4033.13655 3193.86134 Z M 4093.87255 3152.82145 L 4093.87255 3154.88094 4094.04891 3154.79796 4094.53268 3154.49095 4094.97415 3154.12573 4095.36637 3153.70805 4095.70315 3153.24451 4095.93574 3152.82145 4093.87255 3152.82145 Z M 4072.11325 3250.55034 L 4072.11325 3248.49085 4070.05006 3248.49085 4070.28265 3248.91391 4070.61943 3249.37745 4071.01165 3249.79513 4071.45312 3250.16035 4071.93689 3250.46736 4072.11325 3250.55034 Z M 4089.82925 3148.77815 L 4089.82925 3146.71866 4089.65289 3146.80164 4089.16912 3147.10865 4088.72765 3147.47387 4088.33543 3147.89155 4087.99865 3148.35509 4087.76606 3148.77815 4089.82925 3148.77815 Z M 4076.15655 3248.49085 L 4076.15655 3250.55034 4076.33291 3250.46736 4076.81668 3250.16035 4077.25815 3249.79513 4077.65037 3249.37745 4077.98715 3248.91391 4078.21974 3248.49085 4076.15655 3248.49085 Z M 4037.17985 3191.79815 L 4037.17985 3193.86134 4037.60291 3193.62875 4038.06645 3193.29197 4038.48413 3192.89975 4038.84935 3192.45828 4039.15636 3191.97451 4039.23934 3191.79815 4037.17985 3191.79815 Z M 4037.17985 3185.69166 L 4037.17985 3187.75485 4039.23934 3187.75485 4039.15636 3187.57849 4038.84935 3187.09472 4038.48413 3186.65325 4038.06645 3186.26103 4037.60291 3185.92425 4037.17985 3185.69166 Z M 4095.93574 3148.77815 L 4095.70315 3148.35509 4095.36637 3147.89155 4094.97415 3147.47387 4094.53268 3147.10865 4094.04891 3146.80164 4093.87255 3146.71866 4093.87255 3148.77815 4095.93574 3148.77815 Z M 4089.82925 3154.88094 L 4089.82925 3152.82145 4087.76606 3152.82145 4087.99865 3153.24451 4088.33543 3153.70805 4088.72765 3154.12573 4089.16912 3154.49095 4089.65289 3154.79796 4089.82925 3154.88094 Z M 4078.21974 3244.44755 L 4077.98715 3244.02449 4077.65037 3243.56095 4077.25815 3243.14327 4076.81668 3242.77805 4076.33291 3242.47104 4076.15655 3242.38806 4076.15655 3244.44755 4078.21974 3244.44755 Z M 4072.3097 3126.5342 L 4072.3097 3124.62076 4072.05013 3124.74876 4071.59673 3125.05171 4071.18675 3125.41125 4070.82721 3125.82123 4070.52426 3126.27463 4070.39626 3126.5342 4072.3097 3126.5342 Z M 4072.3097 3132.09724 L 4072.3097 3130.1838 4070.39626 3130.1838 4070.52426 3130.44337 4070.82721 3130.89677 4071.18675 3131.30675 4071.59673 3131.66629 4072.05013 3131.96924 4072.3097 3132.09724 Z M 4075.9593 3130.1838 L 4075.9593 3132.09724 4076.21887 3131.96924 4076.67227 3131.66629 4077.08225 3131.30675 4077.44179 3130.89677 4077.74474 3130.44337 4077.87274 3130.1838 4075.9593 3130.1838 Z M 4077.87274 3126.5342 L 4077.74474 3126.27463 4077.44179 3125.82123 4077.08225 3125.41125 4076.67227 3125.05171 4076.21887 3124.74876 4075.9593 3124.62076 4075.9593 3126.5342 4077.87274 3126.5342 Z M 4101.54118 3121.6131 L 4101.54118 3120.0557 4100.92781 3120.0557 4100.67894 3120.08374 4100.46389 3120.15899 4100.27097 3120.28021 4100.10986 3120.44132 4099.98864 3120.63424 4099.91339 3120.84929 4099.88535 3121.09816 4099.88535 3121.6131 4101.54118 3121.6131 Z M 4105.46865 3121.6131 L 4105.46865 3121.09816 4105.44061 3120.84929 4105.36536 3120.63424 4105.24414 3120.44132 4105.08303 3120.28021 4104.89011 3120.15899 4104.67506 3120.08374 4104.42619 3120.0557 4103.81282 3120.0557 4103.81282 3121.6131 4105.46865 3121.6131 Z M 4109.6195 3243.87395 L 4109.6195 3245.52977 4111.1769 3245.52977 4111.1769 3244.91641 4111.14886 3244.66754 4111.07361 3244.45249 4110.95239 3244.25957 4110.79128 3244.09846 4110.59836 3243.97724 4110.38331 3243.90199 4110.13444 3243.87395 4109.6195 3243.87395 Z M 4124.0809 3180.55975 L 4124.0809 3178.90393 4122.5235 3178.90393 4122.5235 3179.51729 4122.55154 3179.76616 4122.62679 3179.98121 4122.74801 3180.17413 4122.90912 3180.33524 4123.10204 3180.45646 4123.31709 3180.53171 4123.56596 3180.55975 4124.0809 3180.55975 Z M 4101.86674 3287.64615 L 4102.11561 3287.61811 4102.33066 3287.54286 4102.52358 3287.42164 4102.68469 3287.26053 4102.80591 3287.06761 4102.88116 3286.85256 4102.9092 3286.60369 4102.9092 3285.99033 4101.3518 3285.99033 4101.3518 3287.64615 4101.86674 3287.64615 Z M 4122.5235 3176.01891 L 4122.5235 3176.63227 4124.0809 3176.63227 4124.0809 3174.97645 4123.56596 3174.97645 4123.31709 3175.00449 4123.10204 3175.07974 4122.90912 3175.20096 4122.74801 3175.36207 4122.62679 3175.55499 4122.55154 3175.77004 4122.5235 3176.01891 Z M 4102.9092 3283.71867 L 4102.9092 3283.10531 4102.88116 3282.85644 4102.80591 3282.64139 4102.68469 3282.44847 4102.52358 3282.28736 4102.33066 3282.16614 4102.11561 3282.09089 4101.86674 3282.06285 4101.3518 3282.06285 4101.3518 3283.71867 4102.9092 3283.71867 Z M 4110.13444 3249.45725 L 4110.38331 3249.42921 4110.59836 3249.35396 4110.79128 3249.23274 4110.95239 3249.07163 4111.07361 3248.87871 4111.14886 3248.66366 4111.1769 3248.41479 4111.1769 3247.80143 4109.6195 3247.80143 4109.6195 3249.45725 4110.13444 3249.45725 Z M 4060.13454 3287.64615 L 4060.38341 3287.61811 4060.59846 3287.54286 4060.79138 3287.42164 4060.95249 3287.26053 4061.07371 3287.06761 4061.14896 3286.85256 4061.177 3286.60369 4061.177 3285.99033 4059.6196 3285.99033 4059.6196 3287.64615 4060.13454 3287.64615 Z M 4042.02434 3221.50455 L 4042.27321 3221.47651 4042.48826 3221.40126 4042.68118 3221.28004 4042.84229 3221.11893 4042.96351 3220.92601 4043.03876 3220.71096 4043.0668 3220.46209 4043.0668 3219.84873 4041.5094 3219.84873 4041.5094 3221.50455 4042.02434 3221.50455 Z M 4061.177 3283.71867 L 4061.177 3283.10531 4061.14896 3282.85644 4061.07371 3282.64139 4060.95249 3282.44847 4060.79138 3282.28736 4060.59846 3282.16614 4060.38341 3282.09089 4060.13454 3282.06285 4059.6196 3282.06285 4059.6196 3283.71867 4061.177 3283.71867 Z M 4060.59637 3144.4477 L 4060.59637 3142.8903 4059.98301 3142.8903 4059.73414 3142.91834 4059.51909 3142.99359 4059.32617 3143.11481 4059.16506 3143.27592 4059.04384 3143.46884 4058.96859 3143.68389 4058.94055 3143.93276 4058.94055 3144.4477 4060.59637 3144.4477 Z M 4062.86803 3142.8903 L 4062.86803 3144.4477 4064.52385 3144.4477 4064.52385 3143.93276 4064.49581 3143.68389 4064.42056 3143.46884 4064.29934 3143.27592 4064.13823 3143.11481 4063.94531 3142.99359 4063.73026 3142.91834 4063.48139 3142.8903 4062.86803 3142.8903 Z M 4043.0668 3217.57707 L 4043.0668 3216.96371 4043.03876 3216.71484 4042.96351 3216.49979 4042.84229 3216.30687 4042.68118 3216.14576 4042.48826 3216.02454 4042.27321 3215.94929 4042.02434 3215.92125 4041.5094 3215.92125 4041.5094 3217.57707 4043.0668 3217.57707 Z M 4116.62529 3332.12325 L 4116.87416 3332.09521 4117.08921 3332.01996 4117.28213 3331.89874 4117.44324 3331.73763 4117.56446 3331.54471 4117.63971 3331.32966 4117.66775 3331.05798 4115.66742 3331.05798 4115.66742 3332.12325 4116.62529 3332.12325 Z M 4112.70678 3332.12325 L 4112.70678 3331.05798 4110.70645 3331.05798 4110.73449 3331.32966 4110.80974 3331.54471 4110.93096 3331.73763 4111.09207 3331.89874 4111.28499 3332.01996 4111.50004 3332.09521 4111.74891 3332.12325 4112.70678 3332.12325 Z "}]},"pads":[],"nets":["GND","LB","SELECT","START","D-RIGHT","D-LEFT","D-DOWN","D-UP","3V3"],"bom":{"both":[[7,"10nF","C0603",[["C1",0],["C2",1],["C3",2],["C4",3],["C5",4],["C6",5],["C7",6]],["FH(风华)","0603B103K500NT","LCSC","C57112"]],[7,"10kΩ","R0603",[["R1",7],["R2",8],["R3",9],["R4",10],["R5",11],["R6",12],["R7",13]],["UNI-ROYAL(厚声)","0603WAF1002T5E","LCSC","C25804"]],[1,"AFA01-S10FCA-00","FPC-SMD_10P-P1.0_FGS-XJ-H2.0",[["FPC1",14]],["JS(钜硕电子)","AFA01-S10FCA-00","LCSC","C262756"]],[4,"TC-1117-B","SW-TH_4P-L7.8-W7.8-P4.50-LS8.5",[["SW5",15],["SW6",16],["SW3",17],["SW4",18]],["XKB Connectivity(中国星坤)","TC-1117-B","LCSC","C692475"]],[1,"TS-1093A-A5B3-D2","KEY-TH_4P-L7.1-W8.9-P4.50-LS2.5",[["SW7",19]],["Yuandi(元迪)","TS-1093A-A5B3-D2","LCSC","C499312"]],[2,"UK-B0228-G10-160","KEY-SMD_4P-L6.0-W6.0-P4.50-LS10.0",[["SW1",20],["SW2",21]],["USAKRO(美韩)","UK-B0228-G10-160","LCSC","C620322"]]],"F":[[4,"TC-1117-B","SW-TH_4P-L7.8-W7.8-P4.50-LS8.5",[["SW5",15],["SW6",16],["SW3",17],["SW4",18]],["XKB Connectivity(中国星坤)","TC-1117-B","LCSC","C692475"]],[1,"TS-1093A-A5B3-D2","KEY-TH_4P-L7.1-W8.9-P4.50-LS2.5",[["SW7",19]],["Yuandi(元迪)","TS-1093A-A5B3-D2","LCSC","C499312"]],[2,"UK-B0228-G10-160","KEY-SMD_4P-L6.0-W6.0-P4.50-LS10.0",[["SW1",20],["SW2",21]],["USAKRO(美韩)","UK-B0228-G10-160","LCSC","C620322"]]],"B":[[7,"10nF","C0603",[["C1",0],["C2",1],["C3",2],["C4",3],["C5",4],["C6",5],["C7",6]],["FH(风华)","0603B103K500NT","LCSC","C57112"]],[7,"10kΩ","R0603",[["R1",7],["R2",8],["R3",9],["R4",10],["R5",11],["R6",12],["R7",13]],["UNI-ROYAL(厚声)","0603WAF1002T5E","LCSC","C25804"]],[1,"AFA01-S10FCA-00","FPC-SMD_10P-P1.0_FGS-XJ-H2.0",[["FPC1",14]],["JS(钜硕电子)","AFA01-S10FCA-00","LCSC","C262756"]]],"skipped":[],"customColumns":["BOM_Manufacturer","BOM_Manufacturer Part","BOM_Supplier","BOM_Supplier Part"]}};
///////////////////////////////////////////////

///////////////////////////////////////////////
/* Utility functions */

var storagePrefix = 'ibom__' + pcbdata.metadata.title + '__' +
  pcbdata.metadata.revision + '__#';

function buildKeyForLocalStorageDict() {  
  return storagePrefix;
}

var storage;
var _isLocalStorageUsed = false;

function initStorage(key) {
  try {
    window.localStorage.getItem("blank");
    storage = window.localStorage;    
    _isLocalStorageUsed = true;
  } catch (e) {
    // localStorage not available
  }
  if (!storage) {
    try {
      window.sessionStorage.getItem("blank");
      storage = window.sessionStorage;      
    } catch (e) {
      // sessionStorage also not available
    }
  }
}



function readStorage(key) {
  if(!storage) {
    return null;
  }

  if(!_isLocalStorageUsed) {    
    return storage.getItem(storagePrefix + key);
  }

  try {
    var dictKey = buildKeyForLocalStorageDict();
    var obj = JSON.parse(storage.getItem(dictKey));    
    if(!obj || !obj.hasOwnProperty(key)) {
      return null;
    }

    return JSON.parse(storage.getItem(dictKey))[key];
  } catch(e) {
    console.log('[ibom]: Unable to obtain a value from local storage!');
    console.log(e);
  }
  
  // Original implementation
  // return storage.getItem(storagePrefix + key);
}


function writeStorage(key, value) {
  if(!storage) {
    return;
  }

  if(!_isLocalStorageUsed) {
    storage.setItem(storagePrefix + key, value);
    return;
  }

  try {
    var dictKey = buildKeyForLocalStorageDict();
    if(!storage.getItem(dictKey)) {
      storage.setItem(dictKey,JSON.stringify({
        _storagePrefix: storagePrefix
      }));
    }

    var obj = JSON.parse(storage.getItem(dictKey));
    obj[key] = value;
    storage.setItem(dictKey,JSON.stringify(obj));            
  } catch(e) {
    console.log('[ibom]: Unable to write key to local storage!');
    console.log(e);
  }
  
  // Original implementation
  // storage.setItem(storagePrefix + key, value);
}

function fancyDblClickHandler(el, onsingle, ondouble) {
  return function() {
    if (el.getAttribute("data-dblclick") == null) {
      el.setAttribute("data-dblclick", 1);
      setTimeout(function() {
        if (el.getAttribute("data-dblclick") == 1) {
          onsingle();
        }
        el.removeAttribute("data-dblclick");
      }, 200);
    } else {
      el.removeAttribute("data-dblclick");
      ondouble();
    }
  }
}

function smoothScrollToRow(rowid) {
  document.getElementById(rowid).scrollIntoView({
    behavior: "smooth",
    block: "center",
    inline: "nearest"
  });
}

function focusInputField(input) {
  input.scrollIntoView(false);
  input.focus();
  input.select();
}

function copyToClipboard() {
  var text = '';
  for (var node of bomhead.childNodes[0].childNodes) {
    if (node.firstChild) {
      text = text + node.firstChild.nodeValue;
    }
    if (node != bomhead.childNodes[0].lastChild) {
      text += '\t';
    }
  }
  text += '\n';
  for (var row of bombody.childNodes) {
    for (var cell of row.childNodes) {
      for (var node of cell.childNodes) {
        if (node.nodeName == "INPUT") {
          if (node.checked) {
            text = text + '✓';
          }
        } else if (node.nodeName == "MARK") {
          text = text + node.firstChild.nodeValue;
        } else {
          text = text + node.nodeValue;
        }
      }
      if (cell != row.lastChild) {
        text += '\t';
      }
    }
    text += '\n';
  }
  var textArea = document.createElement("textarea");
  textArea.classList.add('clipboard-temp');
  textArea.value = text;

  document.body.appendChild(textArea);
  textArea.focus();
  textArea.select();

  try {
    if (document.execCommand('copy')) {
      console.log('Bom copied to clipboard.');
    }
  } catch (err) {
    console.log('Can not copy to clipboard.');
  }

  document.body.removeChild(textArea);
}

function removeGutterNode(node) {
  for (var i = 0; i < node.childNodes.length; i++) {
    if (node.childNodes[i].classList &&
      node.childNodes[i].classList.contains("gutter")) {
      node.removeChild(node.childNodes[i]);
      break;
    }
  }
}

function cleanGutters() {
  removeGutterNode(document.getElementById("bot"));
  removeGutterNode(document.getElementById("canvasdiv"));
}

var units = {
  prefixes: {
    giga: ["G", "g", "giga", "Giga", "GIGA"],
    mega: ["M", "mega", "Mega", "MEGA"],
    kilo: ["K", "k", "kilo", "Kilo", "KILO"],
    milli: ["m", "milli", "Milli", "MILLI"],
    micro: ["U", "u", "micro", "Micro", "MICRO", "μ", "µ"], // different utf8 μ
    nano: ["N", "n", "nano", "Nano", "NANO"],
    pico: ["P", "p", "pico", "Pico", "PICO"],
  },
  unitsShort: ["R", "r", "Ω", "F", "f", "H", "h"],
  unitsLong: [
    "OHM", "Ohm", "ohm", "ohms",
    "FARAD", "Farad", "farad",
    "HENRY", "Henry", "henry"
  ],
  getMultiplier: function(s) {
    if (this.prefixes.giga.includes(s)) return 1e9;
    if (this.prefixes.mega.includes(s)) return 1e6;
    if (this.prefixes.kilo.includes(s)) return 1e3;
    if (this.prefixes.milli.includes(s)) return 1e-3;
    if (this.prefixes.micro.includes(s)) return 1e-6;
    if (this.prefixes.nano.includes(s)) return 1e-9;
    if (this.prefixes.pico.includes(s)) return 1e-12;
    return 1;
  },
  valueRegex: null,
}

function initUtils() {
  var allPrefixes = units.prefixes.giga
                    .concat(units.prefixes.mega)
                    .concat(units.prefixes.kilo)
                    .concat(units.prefixes.milli)
                    .concat(units.prefixes.micro)
                    .concat(units.prefixes.nano)
                    .concat(units.prefixes.pico);
  var allUnits = units.unitsShort.concat(units.unitsLong);
  units.valueRegex = new RegExp("^([0-9\.]+)" +
                         "\\s*(" + allPrefixes.join("|") + ")?" +
                         "(" + allUnits.join("|") + ")?" +
                         "(\\b.*)?$", "");
  units.valueAltRegex = new RegExp("^([0-9]*)" +
                         "(" + units.unitsShort.join("|") + ")?" +
                         "([GgMmKkUuNnPp])?" +
                         "([0-9]*)" +
                         "(\\b.*)?$", "");
  for (var bom_type of ["both", "F", "B"]) {
    for (var row of pcbdata.bom[bom_type]) {
      row.push(parseValue(row[1], row[3][0][0]));
    }
  }
}

function parseValue(val, ref) {
  var inferUnit = (unit, ref) => {
    if (unit) {
      unit = unit.toLowerCase();
      if (unit == 'Ω' || unit == "ohm" || unit == "ohms") {
        unit = 'r';
      }
      unit = unit[0];
    } else {
      ref = /^([a-z]+)\d+$/i.exec(ref);
      if (ref) {
        ref = ref[1].toLowerCase();
        if (ref == "c") unit = 'f';
        else if (ref == "l") unit = 'h';
        else if (ref == "r" || ref == "rv") unit = 'r';
        else unit = null;
      }
    }
    return unit;
  };
  val = val.replace(/,/g, "");
  var match = units.valueRegex.exec(val);
  var unit;
  if (match) {
    val = parseFloat(match[1]);
    if (match[2]) {
      val = val * units.getMultiplier(match[2]);
    }
    unit = inferUnit(match[3], ref);
    if (!unit) return null;
    else return {
      val: val,
      unit: unit,
      extra: match[4],
    }
  }
  match = units.valueAltRegex.exec(val);
  if (match && (match[1] || match[4])) {
    val = parseFloat(match[1] + "." + match[4]);
    if (match[3]) {
      val = val * units.getMultiplier(match[3]);
    }
    unit = inferUnit(match[2], ref);
    if (!unit) return null;
    else return {
      val: val,
      unit: unit,
      extra: match[5],
    }
  }
  return null;
}

function valueCompare(a, b, stra, strb) {
  if (a === null && b === null) {
    // Failed to parse both values, compare them as strings.
    if (stra != strb) return stra > strb ? 1 : -1;
    else return 0;
  } else if (a === null) {
    return 1;
  } else if (b === null) {
    return -1;
  } else {
    if (a.unit != b.unit) return a.unit > b.unit ? 1 : -1;
    else if (a.val != b.val) return a.val > b.val ? 1 : -1;
    else if (a.extra != b.extra) return a.extra > b.extra ? 1 : -1;
    else return 0;
  }
}

function validateSaveImgDimension(element) {
  var valid = false;
  var intValue = 0;
  if (/^[1-9]\d*$/.test(element.value)) {
    intValue = parseInt(element.value);
    if (intValue <= 16000) {
      valid = true;
    }
  }
  if (valid) {
    element.classList.remove("invalid");
  } else {
    element.classList.add("invalid");
  }
  return intValue;
}

function saveImage(layer) {
  var width = validateSaveImgDimension(document.getElementById("render-save-width"));
  var height = validateSaveImgDimension(document.getElementById("render-save-height"));
  var bgcolor = null;
  if (!document.getElementById("render-save-transparent").checked) {
    var style = getComputedStyle(topmostdiv);
    bgcolor = style.getPropertyValue("background-color");
  }
  if (!width || !height) return;

  // Prepare image
  var canvas = document.createElement("canvas");
  var layerdict = {
    transform: {
      x: 0,
      y: 0,
      s: 1,
      panx: 0,
      pany: 0,
      zoom: 1,
    },
    bg: canvas,
    fab: canvas,
    silk: canvas,
    highlight: canvas,
    layer: layer,
  }
  // Do the rendering
  recalcLayerScale(layerdict, width, height);
  prepareLayer(layerdict);
  clearCanvas(canvas, bgcolor);
  drawBackground(layerdict, false);
  drawHighlightsOnLayer(layerdict, false);

  // Save image
  var imgdata = canvas.toDataURL("image/png");

  var filename = pcbdata.metadata.title;
  if (pcbdata.metadata.revision) {
    filename += `.${pcbdata.metadata.revision}`;
  }
  filename += `.${layer}.png`;
  saveFile(filename, dataURLtoBlob(imgdata));
}

function saveSettings() {
  var data = {
    type: "InteractiveHtmlBom settings",
    version: 1,
    pcbmetadata: pcbdata.metadata,
    settings: settings,
  }
  var blob = new Blob([JSON.stringify(data, null, 4)], {type: "application/json"});
  saveFile(`${pcbdata.metadata.title}.settings.json`, blob);
}

function loadSettings() {
  var input = document.createElement("input");
  input.type = "file";
  input.accept = ".settings.json";
  input.onchange = function(e) {
    var file = e.target.files[0];
    var reader = new FileReader();
    reader.onload = readerEvent => {
      var content = readerEvent.target.result;
      var newSettings;
      try {
        newSettings = JSON.parse(content);
      } catch(e) {
        alert("Selected file is not InteractiveHtmlBom settings file.");
        return;
      }
      if (newSettings.type != "InteractiveHtmlBom settings") {
        alert("Selected file is not InteractiveHtmlBom settings file.");
        return;
      }
      var metadataMatches = newSettings.hasOwnProperty("pcbmetadata");
      if (metadataMatches) {
        for (var k in pcbdata.metadata) {
          if (!newSettings.pcbmetadata.hasOwnProperty(k) || newSettings.pcbmetadata[k] != pcbdata.metadata[k]) {
            metadataMatches = false;
          }
        }
      }
      if (!metadataMatches) {
        var currentMetadata = JSON.stringify(pcbdata.metadata, null, 4);
        var fileMetadata = JSON.stringify(newSettings.pcbmetadata, null, 4);
        if (!confirm(
          `Settins file metadata does not match current metadata.\n\n` +
          `Page metadata:\n${currentMetadata}\n\n` +
          `Settings file metadata:\n${fileMetadata}\n\n` +
          `Press OK if you would like to import settings anyway.`)) {
          return;
        }
      }
      overwriteSettings(newSettings.settings);
    }
    reader.readAsText(file, 'UTF-8');
  }
  input.click();
}

function overwriteSettings(newSettings) {

  initDone = false;
  Object.assign(settings, newSettings);
  writeStorage("bomlayout", settings.bomlayout);
  writeStorage("bommode", settings.bommode);
  writeStorage("canvaslayout", settings.canvaslayout);
  writeStorage("bomCheckboxes", settings.checkboxes.join(","));
  document.getElementById("bomCheckboxes").value = settings.checkboxes.join(",");
  for (var checkbox of settings.checkboxes) {
    writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
  }
  writeStorage("darkenWhenChecked", settings.darkenWhenChecked);
  padsVisible(settings.renderPads);
  document.getElementById("padsCheckbox").checked = settings.renderPads;
  fabricationVisible(settings.renderFabrication);
  document.getElementById("fabricationCheckbox").checked = settings.renderFabrication;
  silkscreenVisible(settings.renderSilkscreen);
  document.getElementById("silkscreenCheckbox").checked = settings.renderSilkscreen;
  referencesVisible(settings.renderReferences);
  document.getElementById("referencesCheckbox").checked = settings.renderReferences;
  valuesVisible(settings.renderValues);
  document.getElementById("valuesCheckbox").checked = settings.renderValues;
  tracksVisible(settings.renderTracks);
  document.getElementById("tracksCheckbox").checked = settings.renderTracks;
  zonesVisible(settings.renderZones);
  document.getElementById("zonesCheckbox").checked = settings.renderZones;
  dnpOutline(settings.renderDnpOutline);
  document.getElementById("dnpOutlineCheckbox").checked = settings.renderDnpOutline;
  setRedrawOnDrag(settings.redrawOnDrag);
  document.getElementById("dragCheckbox").checked = settings.redrawOnDrag;
  setShowCrosshair(settings.showCrosshair);
  document.getElementById("crosshairCheckbox").checked = settings.showCrosshair;
  setDarkMode(settings.darkMode);
  document.getElementById("darkmodeCheckbox").checked = settings.darkMode;
  setHighlightPin1(settings.highlightpin1);
  document.getElementById("highlightpin1Checkbox").checked = settings.highlightpin1;
  writeStorage("boardRotation", settings.boardRotation);
  document.getElementById("boardRotation").value = settings.boardRotation / 5;
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
  initDone = true;
  prepCheckboxes();
  changeBomLayout(settings.bomlayout);
}

function saveFile(filename, blob) {
  var link = document.createElement("a");
  var objurl = URL.createObjectURL(blob);
  link.download = filename;
  link.href = objurl;
  link.click();
}

function dataURLtoBlob(dataurl) {
  var arr = dataurl.split(','), mime = arr[0].match(/:(.*?);/)[1],
      bstr = atob(arr[1]), n = bstr.length, u8arr = new Uint8Array(n);
  while(n--){
      u8arr[n] = bstr.charCodeAt(n);
  }
  return new Blob([u8arr], {type:mime});
}

var settings = {
  canvaslayout: "default",
  bomlayout: "default",
  bommode: "grouped",
  checkboxes: [],
  checkboxStoredRefs: {},
  darkMode: false,
  highlightpin1: false,
  redrawOnDrag: true,
  boardRotation: 0,
  renderPads: true,
  renderReferences: true,
  renderValues: true,
  renderSilkscreen: true,
  renderFabrication: true,
  renderDnpOutline: false,
  renderTracks: true,
  renderZones: true,
}

function initDefaults() {
  settings.bomlayout = readStorage("bomlayout");
  if (settings.bomlayout === null) {
    settings.bomlayout = config.bom_view;
  }
  if (!['bom-only', 'left-right', 'top-bottom'].includes(settings.bomlayout)) {
    settings.bomlayout = config.bom_view;
  }
  settings.bommode = readStorage("bommode");
  if (settings.bommode === null) {
    settings.bommode = "grouped";
  }
  if (!["grouped", "ungrouped", "netlist"].includes(settings.bommode)) {
    settings.bommode = "grouped";
  }
  settings.canvaslayout = readStorage("canvaslayout");
  if (settings.canvaslayout === null) {
    settings.canvaslayout = config.layer_view;
  }
  var bomCheckboxes = readStorage("bomCheckboxes");
  if (bomCheckboxes === null) {
    bomCheckboxes = config.checkboxes;
  }
  settings.checkboxes = bomCheckboxes.split(",").filter((e) => e);
  document.getElementById("bomCheckboxes").value = bomCheckboxes;

  settings.darkenWhenChecked = readStorage("darkenWhenChecked") || "";
  populateDarkenWhenCheckedOptions();

  function initBooleanSetting(storageString, def, elementId, func) {    
    var b = readStorage(storageString);
    if (b === null) {
      b = def;
    } else {
      b = (b === true);
    }
    document.getElementById(elementId).checked = b;
    func(b);
  }

  initBooleanSetting("padsVisible", config.show_pads, "padsCheckbox", padsVisible);
  initBooleanSetting("fabricationVisible", config.show_fabrication, "fabricationCheckbox", fabricationVisible);
  initBooleanSetting("silkscreenVisible", config.show_silkscreen, "silkscreenCheckbox", silkscreenVisible);
  initBooleanSetting("referencesVisible", true, "referencesCheckbox", referencesVisible);
  initBooleanSetting("valuesVisible", false, "valuesCheckbox", valuesVisible);
  if ("tracks" in pcbdata) {
    initBooleanSetting("tracksVisible", true, "tracksCheckbox", tracksVisible);
    initBooleanSetting("zonesVisible", true, "zonesCheckbox", zonesVisible);
  } else {
    document.getElementById("tracksAndZonesCheckboxes").style.display = "none";
    tracksVisible(false);
    zonesVisible(false);
  }
  initBooleanSetting("dnpOutline", false, "dnpOutlineCheckbox", dnpOutline);
  initBooleanSetting("redrawOnDrag", config.redraw_on_drag, "dragCheckbox", setRedrawOnDrag);
  initBooleanSetting("showCrosshair", config.show_crosshair, "crosshairCheckbox", setShowCrosshair);
  initBooleanSetting("darkmode", config.dark_mode, "darkmodeCheckbox", setDarkMode);
  initBooleanSetting("highlightpin1", config.highlight_pin1, "highlightpin1Checkbox", setHighlightPin1);
  settings.boardRotation = readStorage("boardRotation");
  if (settings.boardRotation === null) {
    settings.boardRotation = config.board_rotation * 5;
  } else {
    settings.boardRotation = parseInt(settings.boardRotation);
  }
  document.getElementById("boardRotation").value = settings.boardRotation / 5;
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
}

// Helper classes for user js callbacks.

const IBOM_EVENT_TYPES = {
  ALL: "all",
  HIGHLIGHT_EVENT: "highlightEvent",
  CHECKBOX_CHANGE_EVENT: "checkboxChangeEvent",
  BOM_BODY_CHANGE_EVENT: "bomBodyChangeEvent",
}

const EventHandler = {
  callbacks: {},
  init: function() {
    for (eventType of Object.values(IBOM_EVENT_TYPES))
      this.callbacks[eventType] = [];
  },
  registerCallback: function(eventType, callback) {
    this.callbacks[eventType].push(callback);
  },
  emitEvent: function(eventType, eventArgs) {
    event = {
      eventType: eventType,
      args: eventArgs,
    }
    var callback;
    for(callback of this.callbacks[eventType])
      callback(event);
    for(callback of this.callbacks[IBOM_EVENT_TYPES.ALL])
      callback(event);
  }
}
EventHandler.init();

///////////////////////////////////////////////

///////////////////////////////////////////////
/* PCB rendering code */

var emptyContext2d = document.createElement("canvas").getContext("2d");
var hitTestContext2d = document.createElement("canvas").getContext("2d");

function deg2rad(deg) {
  return deg * Math.PI / 180;
}

function calcFontPoint(linepoint, text, offsetx, offsety, tilt) {
  var point = [
    linepoint[0] * text.width + offsetx,
    linepoint[1] * text.height + offsety
  ];
  // This approximates pcbnew behavior with how text tilts depending on horizontal justification
  point[0] -= (linepoint[1] + 0.5 * (1 + text.justify[0])) * text.height * tilt;
  return point;
}

function drawText(ctx, text, color) {
  if ("ref" in text && !settings.renderReferences) return;
  if ("val" in text && !settings.renderValues) return;
  ctx.save();
  ctx.fillStyle = color;
  ctx.strokeStyle = color;
  ctx.lineCap = "round";
  ctx.lineJoin = "round";
  ctx.lineWidth = text.thickness;

  if ("svgpath" in text) {    
    // TODO: This path must be cached!
    const path = new Path2D(text.svgpath);
    if(text.useTrueTypeFontRendering) {            
      ctx.fill(path);
    } else {
      ctx.stroke(path);
    }
    
    ctx.restore();
    return;
  }

  ctx.translate(...text.pos);
  ctx.translate(text.thickness * 0.5, 0);
  var angle = -text.angle;
  if (text.attr.includes("mirrored")) {
    ctx.scale(-1, 1);
    angle = -angle;
  }
  var tilt = 0;
  if (text.attr.includes("italic")) {
    tilt = 0.125;
  }
  var interline = text.height * 1.5 + text.thickness;
  var txt = text.text.split("\n");
  // KiCad ignores last empty line.
  if (txt[txt.length - 1] == '') txt.pop();
  ctx.rotate(deg2rad(angle));
  var offsety = (1 - text.justify[1]) / 2 * text.height; // One line offset
  offsety -= (txt.length - 1) * (text.justify[1] + 1) / 2 * interline; // Multiline offset
  for (var i in txt) {
    var lineWidth = text.thickness + interline / 2 * tilt;
    for (var j = 0; j < txt[i].length; j++) {
      if (txt[i][j] == '\t') {
        var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
        lineWidth += fourSpaces - lineWidth % fourSpaces;
      } else {
        if (txt[i][j] == '~') {
          j++;
          if (j == txt[i].length)
            break;
        }
        lineWidth += pcbdata.font_data[txt[i][j]].w * text.width;
      }
    }
    var offsetx = -lineWidth * (text.justify[0] + 1) / 2;
    var inOverbar = false;
    for (var j = 0; j < txt[i].length; j++) {
      if (txt[i][j] == '\t') {
        var fourSpaces = 4 * pcbdata.font_data[' '].w * text.width;
        offsetx += fourSpaces - offsetx % fourSpaces;
        continue;
      } else if (txt[i][j] == '~') {
        j++;
        if (j == txt[i].length)
          break;
        if (txt[i][j] != '~') {
          inOverbar = !inOverbar;
        }
      }
      var glyph = pcbdata.font_data[txt[i][j]];
      if (inOverbar) {
        var overbarStart = [offsetx, -text.height * 1.4 + offsety];
        var overbarEnd = [offsetx + text.width * glyph.w, overbarStart[1]];

        if (!lastHadOverbar) {
          overbarStart[0] += text.height * 1.4 * tilt;
          lastHadOverbar = true;
        }
        ctx.beginPath();
        ctx.moveTo(...overbarStart);
        ctx.lineTo(...overbarEnd);
        ctx.stroke();
      } else {
        lastHadOverbar = false;
      }
      for (var line of glyph.l) {
        ctx.beginPath();
        ctx.moveTo(...calcFontPoint(line[0], text, offsetx, offsety, tilt));
        for (var k = 1; k < line.length; k++) {
          ctx.lineTo(...calcFontPoint(line[k], text, offsetx, offsety, tilt));
        }
        ctx.stroke();
      }
      offsetx += glyph.w * text.width;
    }
    offsety += interline;
  }
  ctx.restore();
}

function drawedge(ctx, scalefactor, edge, color) {
  ctx.strokeStyle = color;
  ctx.lineWidth = Math.max(1 / scalefactor, edge.width);
  ctx.lineCap = "round";
  if ("svgpath" in edge) {
    ctx.stroke(new Path2D(edge.svgpath));
  } else {
    ctx.beginPath();
    if (edge.type == "segment") {
      ctx.moveTo(...edge.start);
      ctx.lineTo(...edge.end);
    }
    if (edge.type == "rect") {
      ctx.moveTo(...edge.start);
      ctx.lineTo(edge.start[0], edge.end[1]);
      ctx.lineTo(...edge.end);
      ctx.lineTo(edge.end[0], edge.start[1]);
      ctx.lineTo(...edge.start);
    }
    if (edge.type == "arc") {
      ctx.arc(
        ...edge.start,
        edge.radius,
        deg2rad(edge.startangle),
        deg2rad(edge.endangle));
    }
    if (edge.type == "circle") {
      ctx.arc(
        ...edge.start,
        edge.radius,
        0, 2 * Math.PI);
      ctx.closePath();
    }
    if (edge.type == "curve") {
      ctx.moveTo(...edge.start);
      ctx.bezierCurveTo(...edge.cpa, ...edge.cpb, ...edge.end);
    }
    ctx.stroke();
  }
}

function getChamferedRectPath(size, radius, chamfpos, chamfratio) {
  // chamfpos is a bitmask, left = 1, right = 2, bottom left = 4, bottom right = 8
  var path = new Path2D();
  var width = size[0];
  var height = size[1];
  var x = width * -0.5;
  var y = height * -0.5;
  var chamfOffset = Math.min(width, height) * chamfratio;
  path.moveTo(x, 0);
  if (chamfpos & 4) {
    path.lineTo(x, y + height - chamfOffset);
    path.lineTo(x + chamfOffset, y + height);
    path.lineTo(0, y + height);
  } else {
    path.arcTo(x, y + height, x + width, y + height, radius);
  }
  if (chamfpos & 8) {
    path.lineTo(x + width - chamfOffset, y + height);
    path.lineTo(x + width, y + height - chamfOffset);
    path.lineTo(x + width, 0);
  } else {
    path.arcTo(x + width, y + height, x + width, y, radius);
  }
  if (chamfpos & 2) {
    path.lineTo(x + width, y + chamfOffset);
    path.lineTo(x + width - chamfOffset, y);
    path.lineTo(0, y);
  } else {
    path.arcTo(x + width, y, x, y, radius);
  }
  if (chamfpos & 1) {
    path.lineTo(x + chamfOffset, y);
    path.lineTo(x, y + chamfOffset);
    path.lineTo(x, 0);
  } else {
    path.arcTo(x, y, x, y + height, radius);
  }
  path.closePath();
  return path;
}

function getOblongPath(size) {
  return getChamferedRectPath(size, Math.min(size[0], size[1]) / 2, 0, 0);
}

function getPolygonsPath(shape) {
  if (shape.path2d) {
    return shape.path2d;
  }
  if ("svgpath" in shape) {
    shape.path2d = new Path2D(shape.svgpath);
  } else {
    var path = new Path2D();
    for (var polygon of shape.polygons) {
      path.moveTo(...polygon[0]);
      for (var i = 1; i < polygon.length; i++) {
        path.lineTo(...polygon[i]);
      }
      path.closePath();
    }
    shape.path2d = path;
  }
  return shape.path2d;
}

function drawPolygonShape(ctx, shape, color) {
  ctx.save();
  ctx.fillStyle = color;
  if (!("svgpath" in shape)) {
    ctx.translate(...shape.pos);
    ctx.rotate(deg2rad(-shape.angle));
  }
  ctx.fill(getPolygonsPath(shape));
  ctx.restore();
}


function drawPolylineShape(ctx, shape, color) {
  ctx.save();
  ctx.strokeStyle = color;
  ctx.lineWidth = shape.width;
  if (!("svgpath" in shape)) {
    ctx.translate(...shape.pos);
    ctx.rotate(deg2rad(-shape.angle));
  }
  ctx.stroke(getPolygonsPath(shape));
  ctx.restore();
}

function drawDrawing(ctx, scalefactor, drawing, color) {  
  if (["segment", "arc", "circle", "curve"].includes(drawing.type)) {
    drawedge(ctx, scalefactor, drawing, color);
  } else if (drawing.type == "polygon") {
    drawPolygonShape(ctx, drawing, color);
  } else if (drawing.type == "text") {    
    drawText(ctx, drawing, color);
  } else if (drawing.type == "polyline") {    
    drawPolylineShape(ctx, drawing, color);
  }
}

function getCirclePath(radius) {
  var path = new Path2D();
  path.arc(0, 0, radius, 0, 2 * Math.PI);
  path.closePath();
  return path;
}

function getCachedPadPath(pad) {
  if (!pad.path2d) {
    // if path2d is not set, build one and cache it on pad object
    if (pad.shape == "rect") {
      pad.path2d = new Path2D();
      pad.path2d.rect(...pad.size.map(c => -c * 0.5), ...pad.size);
    } else if (pad.shape == "oval") {
      pad.path2d = getOblongPath(pad.size);
    } else if (pad.shape == "circle") {
      pad.path2d = getCirclePath(pad.size[0] / 2);
    } else if (pad.shape == "roundrect") {
      pad.path2d = getChamferedRectPath(pad.size, pad.radius, 0, 0);
    } else if (pad.shape == "chamfrect") {
      pad.path2d = getChamferedRectPath(pad.size, pad.radius, pad.chamfpos, pad.chamfratio)
    } else if (pad.shape == "custom") {
      pad.path2d = getPolygonsPath(pad);
    } else if(pad.shape === "polygon") {      
      pad.path2d = new Path2D();
      if(pad.polygon.length > 1) {
        const pos = {
          x: pad.pos[0],
          y: pad.pos[1]
        };

        pad.path2d.moveTo(pad.polygon[0].x - pos.x, pad.polygon[0].y - pos.y);
        for (var i = 1; i < pad.polygon.length; i++) {
          const point = pad.polygon[i];          
          pad.path2d.lineTo(point.x - pos.x, point.y - pos.y);
        }
        pad.path2d.closePath();              
      }
    }
  }
  return pad.path2d;
}

function drawPad(ctx, pad, color, outline) {
  ctx.save();
  ctx.translate(...pad.pos);
  if(pad.shape !== 'polygon') {
    ctx.rotate(deg2rad(pad.angle));  
  } else {
    ctx.rotate(deg2rad(0));  
  }
  
  if (pad.offset) {
    ctx.translate(...pad.offset);
  }
  ctx.fillStyle = color;
  ctx.strokeStyle = color;
  var path = getCachedPadPath(pad);
  if (outline) {
    ctx.stroke(path);
  } else {
    ctx.fill(path);
  }
  ctx.restore();
}

function drawPadHole(ctx, pad, padHoleColor) {
  if (pad.type != "th") {
    return
  };

  ctx.save();
  ctx.translate(pad.holeCenterPoint.x, pad.holeCenterPoint.y);    
  ctx.rotate(deg2rad(pad.angle));
  ctx.fillStyle = padHoleColor;
  if (pad.drillshape == "oblong") {
    ctx.fill(getOblongPath(pad.drillsize));
  } else {
    ctx.fill(getCirclePath(pad.drillsize[0] / 2));
  }
  ctx.restore();
}

function drawFootprint(ctx, layer, scalefactor, footprint, padColor, padHoleColor, outlineColor, highlight, outline) {
  if (highlight) {
    // draw bounding box
    if (footprint.layer == layer) {
      ctx.save();
      ctx.globalAlpha = 0.2;
      ctx.translate(...footprint.bbox.pos);
      ctx.rotate(deg2rad(-footprint.bbox.angle));
      ctx.translate(...footprint.bbox.relpos);
      ctx.fillStyle = padColor;
      ctx.fillRect(0, 0, ...footprint.bbox.size);
      ctx.globalAlpha = 1;
      ctx.strokeStyle = padColor;
      ctx.strokeRect(0, 0, ...footprint.bbox.size);
      ctx.restore();
    }
  }
  // draw drawings
  for (var drawing of footprint.drawings) {
    if (drawing.layer == layer) {
      drawDrawing(ctx, scalefactor, drawing.drawing, padColor);
    }
  }
  // draw pads
  if (settings.renderPads) {
    for (var pad of footprint.pads) {
      if (pad.layers.includes(layer)) {
        drawPad(ctx, pad, padColor, outline);
        if (pad.pin1 && settings.highlightpin1) {
          drawPad(ctx, pad, outlineColor, true);
        }
      }
    }
    for (var pad of footprint.pads) {
      drawPadHole(ctx, pad, padHoleColor);
    }
  }
}

function drawCrosshair(canvas, x, y, scalefactor, color) {
  if(!settings.showCrosshair) {
    return;
  }

  var ctx = canvas.getContext("2d");

  HTMLFormControlsCollection.log
  
  ctx.save();
  ctx.globalAlpha = 0.75;
  ctx.lineWidth = 2 / scalefactor;
  ctx.strokeStyle = color;

  // TODO: Should calculate a proper bbox for the view port.
  const dummyOffset = 4000;

  // horz line
  ctx.beginPath();
  ctx.moveTo(x - dummyOffset, y);
  ctx.lineTo(x + dummyOffset, y);
  ctx.stroke();

  // vert line
  ctx.beginPath();
  ctx.moveTo(x, y - dummyOffset);
  ctx.lineTo(x, y + dummyOffset);
  ctx.stroke();

  ctx.globalAlpha = 1;
  ctx.restore();
}

function drawEdgeCuts(canvas, scalefactor) {
  var ctx = canvas.getContext("2d");
  var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color');
  for (var edge of pcbdata.edges) {
    drawedge(ctx, scalefactor, edge, edgecolor);
  }
}

function drawOrphanPads(canvas, layer, scalefactor, highlight, highlightedPads) {
  if (!settings.renderPads) {
    return;
  }

  highlightedPads = highlightedPads || [];

  var ctx = canvas.getContext("2d");
  ctx.save();
  ctx.lineWidth = 3 / scalefactor;
  var style = getComputedStyle(topmostdiv);
  var padColor = style.getPropertyValue('--pad-color');
  var padHoleColor = style.getPropertyValue('--pad-hole-color');  
  if (highlight) {
    padColor = style.getPropertyValue('--pad-color-highlight');
    outlineColor = style.getPropertyValue('--pin1-outline-color-highlight');
  }

  var i = 0;
  for (var pad of pcbdata.pads) {
    if (pad.layers.includes(layer)) {
      var outline = settings.renderDnpOutline;
      if (!highlight || highlightedPads.includes(i)) {
        drawPad(ctx, pad, padColor, outline); 
      }     
    }

    i++;
  }
  
  for (var pad of pcbdata.pads) {
    drawPadHole(ctx, pad, padHoleColor);
  }  

  ctx.restore();
}

function drawFootprints(canvas, layer, scalefactor, highlight) {
  var ctx = canvas.getContext("2d");
  ctx.save();
  ctx.lineWidth = 3 / scalefactor;
  var style = getComputedStyle(topmostdiv);
  var padColor = style.getPropertyValue('--pad-color');
  var padHoleColor = style.getPropertyValue('--pad-hole-color');
  var outlineColor = style.getPropertyValue('--pin1-outline-color');
  if (highlight) {
    padColor = style.getPropertyValue('--pad-color-highlight');
    outlineColor = style.getPropertyValue('--pin1-outline-color-highlight');
  }
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    var mod = pcbdata.footprints[i];
    var outline = settings.renderDnpOutline && pcbdata.bom.skipped.includes(i);
    if (!highlight || highlightedFootprints.includes(i)) {
      drawFootprint(ctx, layer, scalefactor, mod, padColor, padHoleColor, outlineColor, highlight, outline);
    }
  }
  ctx.restore();
}

function drawBgLayer(layername, canvas, layer, scalefactor, edgeColor, polygonColor, textColor) {
  var ctx = canvas.getContext("2d");
  for (var d of pcbdata.drawings[layername][layer]) {
    if (["segment", "arc", "circle", "curve", "rect","polyline"].includes(d.type)) {
      drawedge(ctx, scalefactor, d, edgeColor);
    } else if (d.type == "polygon") {
      drawPolygonShape(ctx, d, polygonColor);
    } else if (d.type == "text") {
      drawText(ctx, d, polygonColor);
    }
  }
}

function drawTracks(canvas, layer, color, highlight) {
  ctx = canvas.getContext("2d");
  ctx.strokeStyle = color;
  ctx.lineCap = "round";
  for(var track of pcbdata.tracks[layer]) {
    if (highlight && highlightedNet != track.net) continue;
    ctx.lineWidth = track.width;

    if(track.type === 'polyline') {
      drawPolylineShape(ctx,track,color);
    } else if(track.type === 'polygon') {
      drawPolygonShape(ctx, track, color);
    } else if(track.type === 'text') {
      drawText(ctx, track, color);
    } else {
      if ('radius' in track) {
        ctx.beginPath();
        ctx.arc(
            ...track.center,
            track.radius,
            deg2rad(track.startangle),
            deg2rad(track.endangle));
        ctx.stroke();
      } else if('start' in track && 'end' in track) {
        ctx.beginPath();
        ctx.moveTo(...track.start);
        ctx.lineTo(...track.end);
        ctx.stroke();
      }
      
    }

  }
}

function drawZones(canvas, layer, color, highlight) {
  ctx = canvas.getContext("2d");
  ctx.save();
  ctx.strokeStyle = color;
  ctx.fillStyle = color;
  ctx.lineJoin = "round";
  for(var zone of pcbdata.zones[layer]) {
    if (!zone.path2d) {
      zone.path2d = getPolygonsPath(zone);
    }
    if (highlight && highlightedNet != zone.net) continue;
    ctx.fill(zone.path2d);
    if (zone.width > 0) {
      ctx.lineWidth = zone.width;
      ctx.stroke(zone.path2d);
    }
  }
  ctx.restore();
}

function clearCanvas(canvas, color = null) {
  var ctx = canvas.getContext("2d");
  ctx.save();
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  if (color) {
    ctx.fillStyle = color;
    ctx.fillRect(0, 0, canvas.width, canvas.height);
  } else {
    ctx.clearRect(0, 0, canvas.width, canvas.height);
  }
  ctx.restore();
}

function drawNets(canvas, layer, highlight) {
  var style = getComputedStyle(topmostdiv);
  if (settings.renderTracks) {
    var trackColor = style.getPropertyValue(highlight ? '--track-color-highlight' : '--track-color');
    drawTracks(canvas, layer, trackColor, highlight);
  }
  if (settings.renderZones) {
    var zoneColor = style.getPropertyValue(highlight ? '--zone-color-highlight' : '--zone-color');
    drawZones(canvas, layer, zoneColor, highlight);
  }
  if (highlight && settings.renderPads) {
    var padColor = style.getPropertyValue('--pad-color-highlight');
    var padHoleColor = style.getPropertyValue('--pad-hole-color');
    var ctx = canvas.getContext("2d");
    for (var footprint of pcbdata.footprints) {
      // draw pads
      var padDrawn = false;
      for (var pad of footprint.pads) {
        if (highlightedNet != pad.net) continue;
        if (pad.layers.includes(layer)) {
          drawPad(ctx, pad, padColor, false);
          padDrawn = true;
        }
      }
      if (padDrawn) {
        // redraw all pad holes because some pads may overlap
        for (var pad of footprint.pads) {
          drawPadHole(ctx, pad, padHoleColor);
        }
      }
    }
  }
}

function drawHighlightsOnLayer(canvasdict, clear = true) {
  if (clear) {
    clearCanvas(canvasdict.highlight);
  }
  
  if (highlightedFootprints.length > 0) {
    drawFootprints(canvasdict.highlight, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom, true);
  }

  // Draw crosshairs
  if (highlightedFootprints.length > 0) {
    for(var i = 0; i < pcbdata.footprints.length; i++) {
      const footprint = pcbdata.footprints[i];
      if(highlightedFootprints.includes(i) && footprint.layer === canvasdict.layer) {
        drawCrosshair(canvasdict.highlight, footprint.center[0], footprint.center[1], canvasdict.transform.s * canvasdict.transform.zoom, 'red');
      }
    }
  }

  if (highlightedNet !== null) {
    var highlightedPads = [];
    for(var i = 0; i < pcbdata.pads.length; i++) {
      var pad = pcbdata.pads[i];
      if(pad.net === highlightedNet) {
        highlightedPads.push(i);
      }
    }
    
    drawOrphanPads(canvasdict.highlight, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom, true, highlightedPads);

    drawNets(canvasdict.highlight, canvasdict.layer, true);
  }
}

function drawHighlights() {
  drawHighlightsOnLayer(allcanvas.front);
  drawHighlightsOnLayer(allcanvas.back);
}

function drawBackground(canvasdict, clear = true) {
  if (clear) {
    clearCanvas(canvasdict.bg);
    clearCanvas(canvasdict.fab);
    clearCanvas(canvasdict.silk);
  }

  drawNets(canvasdict.bg, canvasdict.layer, false);

  drawOrphanPads(canvasdict.bg, canvasdict.layer, canvasdict.transform.s * canvasdict.transform.zoom, false);

  drawFootprints(canvasdict.bg, canvasdict.layer, canvasdict.transform.s * canvasdict.transform.zoom, false);

  drawEdgeCuts(canvasdict.bg, canvasdict.transform.s);

  var style = getComputedStyle(topmostdiv);
  var edgeColor = style.getPropertyValue('--silkscreen-edge-color');
  var polygonColor = style.getPropertyValue('--silkscreen-polygon-color');
  var textColor = style.getPropertyValue('--silkscreen-text-color');
  if (settings.renderSilkscreen) {
    drawBgLayer(
      "silkscreen", canvasdict.silk, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom,
      edgeColor, polygonColor, textColor);
  }
  edgeColor = style.getPropertyValue('--fabrication-edge-color');
  polygonColor = style.getPropertyValue('--fabrication-polygon-color');
  textColor = style.getPropertyValue('--fabrication-text-color');
  if (settings.renderFabrication) {
    drawBgLayer(
      "fabrication", canvasdict.fab, canvasdict.layer,
      canvasdict.transform.s * canvasdict.transform.zoom,
      edgeColor, polygonColor, textColor);
  }
}

function prepareCanvas(canvas, flip, transform) {
  var ctx = canvas.getContext("2d");
  ctx.setTransform(1, 0, 0, 1, 0, 0);
  var fontsize = 1.55;
  ctx.scale(transform.zoom, transform.zoom);
  ctx.translate(transform.panx, transform.pany);
  if (flip) {
    ctx.scale(-1, 1);
  }
  ctx.translate(transform.x, transform.y);
  ctx.rotate(deg2rad(settings.boardRotation));
  ctx.scale(transform.s, transform.s);
}

function prepareLayer(canvasdict) {
  var flip = (canvasdict.layer == "B");
  for (var c of ["bg", "fab", "silk", "highlight"]) {
    prepareCanvas(canvasdict[c], flip, canvasdict.transform);
  }
}

function rotateVector(v, angle) {
  angle = deg2rad(angle);
  return [
    v[0] * Math.cos(angle) - v[1] * Math.sin(angle),
    v[0] * Math.sin(angle) + v[1] * Math.cos(angle)
  ];
}

function applyRotation(bbox) {
  var corners = [
    [bbox.minx, bbox.miny],
    [bbox.minx, bbox.maxy],
    [bbox.maxx, bbox.miny],
    [bbox.maxx, bbox.maxy],
  ];
  corners = corners.map((v) => rotateVector(v, settings.boardRotation));
  return {
    minx: corners.reduce((a, v) => Math.min(a, v[0]), Infinity),
    miny: corners.reduce((a, v) => Math.min(a, v[1]), Infinity),
    maxx: corners.reduce((a, v) => Math.max(a, v[0]), -Infinity),
    maxy: corners.reduce((a, v) => Math.max(a, v[1]), -Infinity),
  }
}

function recalcLayerScale(layerdict, width, height) {
  var bbox = applyRotation(pcbdata.edges_bbox);
  var scalefactor = 0.98 * Math.min(
    width / (bbox.maxx - bbox.minx),
    height / (bbox.maxy - bbox.miny)
  );
  if (scalefactor < 0.1) {
    scalefactor = 1;
  }
  layerdict.transform.s = scalefactor;
  var flip = (layerdict.layer == "B");
  if (flip) {
    layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5;
  } else {
    layerdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5;
  }
  layerdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5;
  for (var c of ["bg", "fab", "silk", "highlight"]) {
    canvas = layerdict[c];
    canvas.width = width;
    canvas.height = height;
    canvas.style.width = (width / devicePixelRatio) + "px";
    canvas.style.height = (height / devicePixelRatio) + "px";
  }
}

function redrawCanvas(layerdict) {
  prepareLayer(layerdict);
  drawBackground(layerdict);
  drawHighlightsOnLayer(layerdict);
}

function resizeCanvas(layerdict) {
  var canvasdivid = {
    "F": "frontcanvas",
    "B": "backcanvas"
  } [layerdict.layer];
  var width = document.getElementById(canvasdivid).clientWidth * devicePixelRatio;
  var height = document.getElementById(canvasdivid).clientHeight * devicePixelRatio;
  recalcLayerScale(layerdict, width, height);
  redrawCanvas(layerdict);
}

function resizeAll() {
  resizeCanvas(allcanvas.front);
  resizeCanvas(allcanvas.back);
}

function pointWithinDistanceToSegment(x, y, x1, y1, x2, y2, d) {
  var A = x - x1;
  var B = y - y1;
  var C = x2 - x1;
  var D = y2 - y1;

  var dot = A * C + B * D;
  var len_sq = C * C + D * D;
  var dx, dy;
  if (len_sq == 0) {
    // start and end of the segment coincide
    dx = x - x1;
    dy = y - y1;
  } else {
    var param = dot / len_sq;
    var xx, yy;
    if (param < 0) {
      xx = x1;
      yy = y1;
    } else if (param > 1) {
      xx = x2;
      yy = y2;
    } else {
      xx = x1 + param * C;
      yy = y1 + param * D;
    }
    dx = x - xx;
    dy = y - yy;
  }
  return dx * dx + dy * dy <= d * d;
}

function modulo(n, mod) {
  return ((n % mod) + mod ) % mod;
}

function pointWithinDistanceToArc(x, y, xc, yc, radius, startangle, endangle, d) {
  var dx = x - xc;
  var dy = y - yc;
  var r_sq = dx * dx + dy * dy;
  var rmin = Math.max(0, radius-d);
  var rmax = radius + d;

  if (r_sq < rmin * rmin || r_sq > rmax * rmax)
    return false;

  var angle1 = modulo(deg2rad(startangle), 2 * Math.PI);
  var dx1 = xc + radius * Math.cos(angle1) - x;
  var dy1 = yc + radius * Math.sin(angle1) - y;
  if (dx1 * dx1 + dy1 * dy1 <= d * d)
    return true;

  var angle2 = modulo(deg2rad(endangle), 2 * Math.PI);
  var dx2 = xc + radius * Math.cos(angle2) - x;
  var dy2 = yc + radius * Math.sin(angle2) - y;
  if (dx2 * dx2 + dy2 * dy2 <= d * d)
    return true;

  var angle = modulo(Math.atan2(dy, dx), 2 * Math.PI);
  if (angle1 > angle2)
    return (angle >= angle2 || angle <= angle1);
  else
    return (angle >= angle1 && angle <= angle2);
}

function pointWithinPad(x, y, pad) {
  var v = [x - pad.pos[0], y - pad.pos[1]];
  v = rotateVector(v, -pad.angle);
  if (pad.offset) {
    v[0] -= pad.offset[0];
    v[1] -= pad.offset[1];
  }
  return emptyContext2d.isPointInPath(getCachedPadPath(pad), ...v);
}

function netHitScan(layer, x, y) {
  // TODO: Should be refactored

  // Check track segments
  if (settings.renderTracks && pcbdata.tracks) {
    for(var track of pcbdata.tracks[layer]) {
      if(track.type === 'polyline') {
        const path = getPolygonsPath(track);
        if(path) {
          hitTestContext2d.save();
          hitTestContext2d.lineWidth = track.width;
          
          if(hitTestContext2d.isPointInStroke(path,x,y)) {
            hitTestContext2d.restore();
            return track.net;            
          }
          
          hitTestContext2d.restore();          
        }        

      } else if(track.type === 'polygon') {
        const path = getPolygonsPath(track);
        if(path && hitTestContext2d.isPointInPath(path,x,y)) {          
          return track.net;                      
        }                     
      } else if(track.type === 'text') {
        // TODO: To implement taking in account TrueType fonts.
      } else if ('radius' in track) {
        if (pointWithinDistanceToArc(x, y, ...track.center, track.radius, track.startangle, track.endangle, track.width / 2)) {
          return track.net;
        }
      } else if('start' in track && 'end' in track) {
        if (pointWithinDistanceToSegment(x, y, ...track.start, ...track.end, track.width / 2)) {
          return track.net;
        }
      }
    }
  }
  // Check pads
  if (settings.renderPads) {

    // Footprints containing pads
    for (var footprint of pcbdata.footprints) {
      for(var pad of footprint.pads) {
        if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
          return pad.net;
        }
      }
    }

    // Orphan pads
    for(var pad of pcbdata.pads) {
      if (pad.layers.includes(layer) && pointWithinPad(x, y, pad)) {
        return pad.net;
      }
    }
  }
  return null;
}

function pointWithinFootprintBbox(x, y, bbox) {
  var v = [x - bbox.pos[0], y - bbox.pos[1]];
  v = rotateVector(v, bbox.angle);
  return bbox.relpos[0] <= v[0] && v[0] <= bbox.relpos[0] + bbox.size[0] &&
         bbox.relpos[1] <= v[1] && v[1] <= bbox.relpos[1] + bbox.size[1];
}

function bboxHitScan(layer, x, y) {
  var result = [];
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    var footprint = pcbdata.footprints[i];
    if (footprint.layer == layer) {
      if (pointWithinFootprintBbox(x, y, footprint.bbox)) {
        result.push(i);
      }
    }
  }
  return result;
}

function handlePointerDown(e, layerdict) {
  if (e.button != 0 && e.button != 1) {
    return;
  }
  e.preventDefault();
  e.stopPropagation();

  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  layerdict.pointerStates[e.pointerId] = {
    distanceTravelled: 0,
    lastX: e.offsetX,
    lastY: e.offsetY,
    downTime: Date.now(),
  };
}

function handleMouseClick(e, layerdict) {
  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  var x = e.offsetX;
  var y = e.offsetY;
  var t = layerdict.transform;
  if (layerdict.layer == "B") {
    x = (devicePixelRatio * x / t.zoom - t.panx + t.x) / -t.s;
  } else {
    x = (devicePixelRatio * x / t.zoom - t.panx - t.x) / t.s;
  }
  y = (devicePixelRatio * y / t.zoom - t.y - t.pany) / t.s;
  var v = rotateVector([x, y], -settings.boardRotation);
  if ("nets" in pcbdata) {
    var net = netHitScan(layerdict.layer, ...v);
    if (net !== highlightedNet) {
      netClicked(net);
    }
  }
  if (highlightedNet === null) {
    var footprints = bboxHitScan(layerdict.layer, ...v);
    if (footprints.length > 0) {
      footprintsClicked(footprints);
    }
  }
}

function handlePointerLeave(e, layerdict) {
  e.preventDefault();
  e.stopPropagation();

  if (!settings.redrawOnDrag) {
    redrawCanvas(layerdict);
  }

  delete layerdict.pointerStates[e.pointerId];
}

function resetTransform(layerdict) {
  layerdict.transform.panx = 0;
  layerdict.transform.pany = 0;
  layerdict.transform.zoom = 1;
  redrawCanvas(layerdict);
}

function handlePointerUp(e, layerdict) {
  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  e.preventDefault();
  e.stopPropagation();

  if (e.button == 2) {
    // Reset pan and zoom on right click.
    resetTransform(layerdict);
    layerdict.anotherPointerTapped = false;
    return;
  }

  // We haven't necessarily had a pointermove event since the interaction started, so make sure we update this now
  var ptr = layerdict.pointerStates[e.pointerId];
  ptr.distanceTravelled += Math.abs(e.offsetX - ptr.lastX) + Math.abs(e.offsetY - ptr.lastY);

  if (e.button == 0 && ptr.distanceTravelled < 10 && Date.now() - ptr.downTime <= 500) {
    if (Object.keys(layerdict.pointerStates).length == 1) {
      if (layerdict.anotherPointerTapped) {
        // This is the second pointer coming off of a two-finger tap
        resetTransform(layerdict);
      } else {
        // This is just a regular tap
        handleMouseClick(e, layerdict);
      }
      layerdict.anotherPointerTapped = false;
    } else {
      // This is the first finger coming off of what could become a two-finger tap
      layerdict.anotherPointerTapped = true;
    }
  } else {
    if (!settings.redrawOnDrag) {
      redrawCanvas(layerdict);
    }
    layerdict.anotherPointerTapped = false;
  }

  delete layerdict.pointerStates[e.pointerId];
}

function handlePointerMove(e, layerdict) {
  if (!layerdict.pointerStates.hasOwnProperty(e.pointerId)) {
    return;
  }
  e.preventDefault();
  e.stopPropagation();

  if (!e.hasOwnProperty("offsetX")) {
    // The polyfill doesn't set this properly
    e.offsetX = e.pageX - e.currentTarget.offsetLeft;
    e.offsetY = e.pageY - e.currentTarget.offsetTop;
  }

  var thisPtr = layerdict.pointerStates[e.pointerId];

  var dx = e.offsetX - thisPtr.lastX;
  var dy = e.offsetY - thisPtr.lastY;

  // If this number is low on pointer up, we count the action as a click
  thisPtr.distanceTravelled += Math.abs(dx) + Math.abs(dy);

  if (Object.keys(layerdict.pointerStates).length == 1) {
    // This is a simple drag
    layerdict.transform.panx += devicePixelRatio * dx / layerdict.transform.zoom;
    layerdict.transform.pany += devicePixelRatio * dy / layerdict.transform.zoom;
  } else if (Object.keys(layerdict.pointerStates).length == 2) {
    var otherPtr = Object.values(layerdict.pointerStates).filter((ptr) => ptr != thisPtr)[0];

    var oldDist = Math.sqrt(Math.pow(thisPtr.lastX - otherPtr.lastX, 2) + Math.pow(thisPtr.lastY - otherPtr.lastY, 2));
    var newDist = Math.sqrt(Math.pow(e.offsetX - otherPtr.lastX, 2)     + Math.pow(e.offsetY - otherPtr.lastY, 2));

    var scaleFactor = newDist/oldDist;

    if (scaleFactor != NaN) {
      layerdict.transform.zoom *= scaleFactor;

      var zoomd = (1 - scaleFactor) / layerdict.transform.zoom;
      layerdict.transform.panx += devicePixelRatio * otherPtr.lastX * zoomd;
      layerdict.transform.pany += devicePixelRatio * otherPtr.lastY * zoomd;
    }
  }

  thisPtr.lastX = e.offsetX;
  thisPtr.lastY = e.offsetY;

  if (settings.redrawOnDrag) {
    redrawCanvas(layerdict);
  }
}

function handleMouseWheel(e, layerdict) {
  e.preventDefault();
  e.stopPropagation();
  var t = layerdict.transform;
  var wheeldelta = e.deltaY;
  if (e.deltaMode == 1) {
    // FF only, scroll by lines
    wheeldelta *= 30;
  } else if (e.deltaMode == 2) {
    wheeldelta *= 300;
  }
  var m = Math.pow(1.1, -wheeldelta / 40);
  // Limit amount of zoom per tick.
  if (m > 2) {
    m = 2;
  } else if (m < 0.5) {
    m = 0.5;
  }
  t.zoom *= m;
  var zoomd = (1 - m) / t.zoom;
  t.panx += devicePixelRatio * e.offsetX * zoomd;
  t.pany += devicePixelRatio * e.offsetY * zoomd;
  redrawCanvas(layerdict);
}

function addMouseHandlers(div, layerdict) {
  div.addEventListener("pointerdown", function(e) {
    handlePointerDown(e, layerdict);
  });
  div.addEventListener("pointermove", function(e) {
    handlePointerMove(e, layerdict);
  });
  div.addEventListener("pointerup", function(e) {
    handlePointerUp(e, layerdict);
  });
  var pointerleave = function(e) {
    handlePointerLeave(e, layerdict);
  }
  div.addEventListener("pointercancel", pointerleave);
  div.addEventListener("pointerleave", pointerleave);
  div.addEventListener("pointerout", pointerleave);

  div.onwheel = function(e) {
    handleMouseWheel(e, layerdict);
  }
  for (var element of [div, layerdict.bg, layerdict.fab, layerdict.silk, layerdict.highlight]) {
    element.addEventListener("contextmenu", function(e) {
      e.preventDefault();
    }, false);
  }
}

function setRedrawOnDrag(value) {
  settings.redrawOnDrag = value;
  writeStorage("redrawOnDrag", value);
}

function setShowCrosshair(value) {
  settings.showCrosshair = value;
  writeStorage("showCrosshair", value);
}

function setBoardRotation(value) {
  settings.boardRotation = value * 5;
  writeStorage("boardRotation", settings.boardRotation);
  document.getElementById("rotationDegree").textContent = settings.boardRotation;
  resizeAll();
}

function initRender() {
  allcanvas = {
    front: {
      transform: {
        x: 0,
        y: 0,
        s: 1,
        panx: 0,
        pany: 0,
        zoom: 1,
      },
      pointerStates: {},
      anotherPointerTapped: false,
      bg: document.getElementById("F_bg"),
      fab: document.getElementById("F_fab"),
      silk: document.getElementById("F_slk"),
      highlight: document.getElementById("F_hl"),
      layer: "F",
    },
    back: {
      transform: {
        x: 0,
        y: 0,
        s: 1,
        panx: 0,
        pany: 0,
        zoom: 1,
      },
      pointerStates: {},
      anotherPointerTapped: false,
      bg: document.getElementById("B_bg"),
      fab: document.getElementById("B_fab"),
      silk: document.getElementById("B_slk"),
      highlight: document.getElementById("B_hl"),
      layer: "B",
    }
  };
  addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front);
  addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back);
}

///////////////////////////////////////////////

///////////////////////////////////////////////
/* DOM manipulation and misc code */

var bomsplit;
var canvassplit;
var initDone = false;
var bomSortFunction = null;
var currentSortColumn = null;
var currentSortOrder = null;
var currentHighlightedRowId;
var highlightHandlers = [];
var footprintIndexToHandler = {};
var netsToHandler = {};
var highlightedFootprints = [];
var highlightedOrphanPads = [];
var highlightedNet = null;
var lastClicked;

function dbg(html) {
  dbgdiv.innerHTML = html;
}

function redrawIfInitDone() {
  if (initDone) {
    redrawCanvas(allcanvas.front);
    redrawCanvas(allcanvas.back);
  }
}

function padsVisible(value) {
  writeStorage("padsVisible", value);
  settings.renderPads = value;
  redrawIfInitDone();
}

function referencesVisible(value) {
  writeStorage("referencesVisible", value);
  settings.renderReferences = value;
  redrawIfInitDone();
}

function valuesVisible(value) {
  writeStorage("valuesVisible", value);
  settings.renderValues = value;
  redrawIfInitDone();
}

function tracksVisible(value) {
  writeStorage("tracksVisible", value);
  settings.renderTracks = value;
  redrawIfInitDone();
}

function zonesVisible(value) {
  writeStorage("zonesVisible", value);
  settings.renderZones = value;
  redrawIfInitDone();
}

function dnpOutline(value) {
  writeStorage("dnpOutline", value);
  settings.renderDnpOutline = value;
  redrawIfInitDone();
}

function setDarkMode(value) {
  if (value) {
    topmostdiv.classList.add("dark");
  } else {
    topmostdiv.classList.remove("dark");
  }
  writeStorage("darkmode", value);
  settings.darkMode = value;
  redrawIfInitDone();
}

function setFullscreen(value) {
  if (value) {
    document.documentElement.requestFullscreen();
  } else {
    document.exitFullscreen();
  }
}

function fabricationVisible(value) {
  writeStorage("fabricationVisible", value);
  settings.renderFabrication = value;
  redrawIfInitDone();
}

function silkscreenVisible(value) {
  writeStorage("silkscreenVisible", value);
  settings.renderSilkscreen = value;
  redrawIfInitDone();
}

function setHighlightPin1(value) {
  writeStorage("highlightpin1", value);
  settings.highlightpin1 = value;
  redrawIfInitDone();
}

function getStoredCheckboxRefs(checkbox) {
  function convert(ref) {
    var intref = parseInt(ref);
    if (isNaN(intref)) {
      for (var i = 0; i < pcbdata.footprints.length; i++) {
        if (pcbdata.footprints[i].ref == ref) {
          return i;
        }
      }
      return -1;
    } else {
      return intref;
    }
  }
  if (!(checkbox in settings.checkboxStoredRefs)) {
    var val = readStorage("checkbox_" + checkbox);
    settings.checkboxStoredRefs[checkbox] = val ? val : "";
  }
  if (!settings.checkboxStoredRefs[checkbox]) {
    return new Set();
  } else {
    return new Set(settings.checkboxStoredRefs[checkbox].split(",").map(r => convert(r)).filter(a => a >= 0));
  }
}

function getCheckboxState(checkbox, references) {
  var storedRefsSet = getStoredCheckboxRefs(checkbox);
  var currentRefsSet = new Set(references.map(r => r[1]));
  // Get difference of current - stored
  var difference = new Set(currentRefsSet);
  for (ref of storedRefsSet) {
    difference.delete(ref);
  }
  if (difference.size == 0) {
    // All the current refs are stored
    return "checked";
  } else if (difference.size == currentRefsSet.size) {
    // None of the current refs are stored
    return "unchecked";
  } else {
    // Some of the refs are stored
    return "indeterminate";
  }
}

function setBomCheckboxState(checkbox, element, references) {
  var state = getCheckboxState(checkbox, references);
  element.checked = (state == "checked");
  element.indeterminate = (state == "indeterminate");
}

function createCheckboxChangeHandler(checkbox, references, row) {
  return function() {
    refsSet = getStoredCheckboxRefs(checkbox);
    var darkenWhenChecked = settings.darkenWhenChecked == checkbox;
    eventArgs = {
      checkbox: checkbox,
      refs: references,
    }
    if (this.checked) {
      // checkbox ticked
      for (var ref of references) {
        refsSet.add(ref[1]);
      }
      if (darkenWhenChecked) {
        row.classList.add("checked");
      }
      eventArgs.state = 'checked';
    } else {
      // checkbox unticked
      for (var ref of references) {
        refsSet.delete(ref[1]);
      }
      if (darkenWhenChecked) {
        row.classList.remove("checked");
      }
      eventArgs.state = 'unchecked';
    }
    settings.checkboxStoredRefs[checkbox] = [...refsSet].join(",");
    writeStorage("checkbox_" + checkbox, settings.checkboxStoredRefs[checkbox]);
    updateCheckboxStats(checkbox);
    EventHandler.emitEvent(IBOM_EVENT_TYPES.CHECKBOX_CHANGE_EVENT, eventArgs);
  }
}

function clearHighlightedFootprints() {
  if (currentHighlightedRowId) {
    document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
    currentHighlightedRowId = null;
    highlightedFootprints = [];  
    highlightedOrphanPads = [];  
    highlightedNet = null;
  }
}

function createRowHighlightHandler(rowid, refs, net) {
  return function() {
    if (currentHighlightedRowId) {
      if (currentHighlightedRowId == rowid) {
        return;
      }
      document.getElementById(currentHighlightedRowId).classList.remove("highlighted");
    }
    document.getElementById(rowid).classList.add("highlighted");
    currentHighlightedRowId = rowid;
    highlightedFootprints = refs ? refs.map(r => r[1]) : [];
    highlightedNet = net;
    drawHighlights();
    EventHandler.emitEvent(
      IBOM_EVENT_TYPES.HIGHLIGHT_EVENT,
      {
        rowid: rowid,
        refs: refs,
        net: net
      });
  }
}

function entryMatches(entry) {
  if (settings.bommode == "netlist") {
    // entry is just a net name
    return entry.toLowerCase().indexOf(filter) >= 0;
  }
  // check refs
  for (var ref of entry[3]) {
    if (ref[0].toLowerCase().indexOf(filter) >= 0) {
      return true;
    }
  }
  // check extra fields
  for (var i in config.extra_fields) {
    if (entry[4][i].toLowerCase().indexOf(filter) >= 0) {
      return true;
    }
  }
  // check value
  if (entry[1].toLowerCase().indexOf(filter) >= 0) {
    return true;
  }
  // check footprint
  if (entry[2].toLowerCase().indexOf(filter) >= 0) {
    return true;
  }
  return false;
}

function findRefInEntry(entry) {
  return entry[3].filter(r => r[0].toLowerCase() == reflookup);
}

function highlightFilter(s) {
  if (!filter) {
    return s;
  }
  var parts = s.toLowerCase().split(filter);
  if (parts.length == 1) {
    return s;
  }
  var r = "";
  var pos = 0;
  for (var i in parts) {
    if (i > 0) {
      r += '<mark class="highlight">' +
        s.substring(pos, pos + filter.length) +
        '</mark>';
      pos += filter.length;
    }
    r += s.substring(pos, pos + parts[i].length);
    pos += parts[i].length;
  }
  return r;
}

function checkboxSetUnsetAllHandler(checkboxname) {
  return function() {
    var checkboxnum = 0;
    while (checkboxnum < settings.checkboxes.length &&
      settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
      checkboxnum++;
    }
    if (checkboxnum >= settings.checkboxes.length) {
      return;
    }
    var allset = true;
    var checkbox;
    var row;
    for (row of bombody.childNodes) {
      checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
      if (!checkbox.checked || checkbox.indeterminate) {
        allset = false;
        break;
      }
    }
    for (row of bombody.childNodes) {
      checkbox = row.childNodes[checkboxnum + 1].childNodes[0];
      checkbox.checked = !allset;
      checkbox.indeterminate = false;
      checkbox.onchange();
    }
  }
}

function createColumnHeader(name, cls, comparator) {
  var th = document.createElement("TH");
  th.innerHTML = name;
  th.classList.add(cls);
  th.style.cursor = "pointer";
  var span = document.createElement("SPAN");
  span.classList.add("sortmark");
  span.classList.add("none");
  th.appendChild(span);
  th.onclick = function() {
    if (currentSortColumn && this !== currentSortColumn) {
      // Currently sorted by another column
      currentSortColumn.childNodes[1].classList.remove(currentSortOrder);
      currentSortColumn.childNodes[1].classList.add("none");
      currentSortColumn = null;
      currentSortOrder = null;
    }
    if (currentSortColumn && this === currentSortColumn) {
      // Already sorted by this column
      if (currentSortOrder == "asc") {
        // Sort by this column, descending order
        bomSortFunction = function(a, b) {
          return -comparator(a, b);
        }
        currentSortColumn.childNodes[1].classList.remove("asc");
        currentSortColumn.childNodes[1].classList.add("desc");
        currentSortOrder = "desc";
      } else {
        // Unsort
        bomSortFunction = null;
        currentSortColumn.childNodes[1].classList.remove("desc");
        currentSortColumn.childNodes[1].classList.add("none");
        currentSortColumn = null;
        currentSortOrder = null;
      }
    } else {
      // Sort by this column, ascending order
      bomSortFunction = comparator;
      currentSortColumn = this;
      currentSortColumn.childNodes[1].classList.remove("none");
      currentSortColumn.childNodes[1].classList.add("asc");
      currentSortOrder = "asc";
    }
    populateBomBody();
  }
  return th;
}

function populateBomHeader() {
  while (bomhead.firstChild) {
    bomhead.removeChild(bomhead.firstChild);
  }
  var tr = document.createElement("TR");
  var th = document.createElement("TH");
  th.classList.add("numCol");
  tr.appendChild(th);
  var checkboxCompareClosure = function(checkbox) {
    return (a, b) => {
      var stateA = getCheckboxState(checkbox, a[3]);
      var stateB = getCheckboxState(checkbox, b[3]);
      if (stateA > stateB) return -1;
      if (stateA < stateB) return 1;
      return 0;
    }
  }
  if (settings.bommode == "netlist") {
    th = createColumnHeader("Net name", "bom-netname", (a, b) => {
      if (a > b) return -1;
      if (a < b) return 1;
      return 0;
    });
    tr.appendChild(th);
  } else {
    for (var checkbox of settings.checkboxes) {
      th = createColumnHeader(
        checkbox, "bom-checkbox", checkboxCompareClosure(checkbox));
      th.onclick = fancyDblClickHandler(
        th, th.onclick.bind(th), checkboxSetUnsetAllHandler(checkbox));
      tr.appendChild(th);
    }
    tr.appendChild(createColumnHeader("References", "References", (a, b) => {
      var i = 0;
      while (i < a[3].length && i < b[3].length) {
        if (a[3][i] != b[3][i]) return a[3][i] > b[3][i] ? 1 : -1;
        i++;
      }
      return a[3].length - b[3].length;
    }));
    // Extra fields
    if (config.extra_fields.length > 0) {
      var extraFieldCompareClosure = function(fieldIndex) {
        return (a, b) => {
          var fa = a[4][fieldIndex];
          var fb = b[4][fieldIndex];
          if (fa != fb) return fa > fb ? 1 : -1;
          else return 0;
        }
      }
      for (var i in config.extra_fields) {
        tr.appendChild(createColumnHeader(
          config.extra_fields[i], "extra", extraFieldCompareClosure(i)));
      }
    }
    tr.appendChild(createColumnHeader("Value", "Value", (a, b) => {
      return valueCompare(a[5], b[5], a[1], b[1]);
    }));
    tr.appendChild(createColumnHeader("Footprint", "Footprint", (a, b) => {
      if (a[2] != b[2]) return a[2] > b[2] ? 1 : -1;
      else return 0;
    }));
    if (settings.bommode == "grouped") {
      tr.appendChild(createColumnHeader("Quantity", "Quantity", (a, b) => {
        return a[3].length - b[3].length;
      }));
    }
  }
  bomhead.appendChild(tr);
}

function populateBomBody() {
  while (bom.firstChild) {
    bom.removeChild(bom.firstChild);
  }
  highlightHandlers = [];
  footprintIndexToHandler = {};
  netsToHandler = {};
  currentHighlightedRowId = null;
  var first = true;
  if (settings.bommode == "netlist") {
    bomtable = pcbdata.nets.slice();
  } else {
    switch (settings.canvaslayout) {
      case 'F':
        bomtable = pcbdata.bom.F.slice();
        break;
      case 'FB':
        bomtable = pcbdata.bom.both.slice();
        break;
      case 'B':
        bomtable = pcbdata.bom.B.slice();
        break;
    }
    if (settings.bommode == "ungrouped") {
      // expand bom table
      expandedTable = []
      for (var bomentry of bomtable) {
        for (var ref of bomentry[3]) {
          expandedTable.push([1, bomentry[1], bomentry[2], [ref], bomentry[4], bomentry[5]]);
        }
      }
      bomtable = expandedTable;
    }
  }
  if (bomSortFunction) {
    bomtable = bomtable.sort(bomSortFunction);
  }
  for (var i in bomtable) {
    var bomentry = bomtable[i];
    if (filter && !entryMatches(bomentry)) {
      continue;
    }
    var references = null;
    var netname = null;
    var tr = document.createElement("TR");
    var td = document.createElement("TD");
    var rownum = +i + 1;
    tr.id = "bomrow" + rownum;
    td.textContent = rownum;
    tr.appendChild(td);
    if (settings.bommode == "netlist") {
      netname = bomentry;
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(netname ? netname : "&lt;no net&gt;");
      tr.appendChild(td);
    } else {
      if (reflookup) {
        references = findRefInEntry(bomentry);
        if (references.length == 0) {
          continue;
        }
      } else {
        references = bomentry[3];
      }
      // Checkboxes
      for (var checkbox of settings.checkboxes) {
        if (checkbox) {
          td = document.createElement("TD");
          var input = document.createElement("input");
          input.type = "checkbox";
          input.onchange = createCheckboxChangeHandler(checkbox, references, tr);
          setBomCheckboxState(checkbox, input, references);
          if (input.checked && settings.darkenWhenChecked == checkbox) {
            tr.classList.add("checked");
          }
          td.appendChild(input);
          tr.appendChild(td);
        }
      }
      // References
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(references.map(r => r[0]).join(", "));
      tr.appendChild(td);
      // Extra fields
      for (var i in config.extra_fields) {
        td = document.createElement("TD");
        td.innerHTML = highlightFilter(bomentry[4][i]);
        tr.appendChild(td);
      }
      // Value
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(bomentry[1]);
      tr.appendChild(td);
      // Footprint
      td = document.createElement("TD");
      td.innerHTML = highlightFilter(bomentry[2]);
      tr.appendChild(td);
      if (settings.bommode == "grouped") {
        // Quantity
        td = document.createElement("TD");
        td.textContent = bomentry[3].length;
        tr.appendChild(td);
      }
    }
    bom.appendChild(tr);
    var handler = createRowHighlightHandler(tr.id, references, netname);
    tr.onmousemove = handler;
    highlightHandlers.push({
      id: tr.id,
      handler: handler,
    });
    if (references !== null) {
      for (var refIndex of references.map(r => r[1])) {
        footprintIndexToHandler[refIndex] = handler;
      }
    }
    if (netname !== null) {
      netsToHandler[netname] = handler;
    }
    if ((filter || reflookup) && first) {
      handler();
      first = false;
    }
  }
  EventHandler.emitEvent(
    IBOM_EVENT_TYPES.BOM_BODY_CHANGE_EVENT,
    {
      filter: filter,
      reflookup: reflookup,
      checkboxes: settings.checkboxes,
      bommode: settings.bommode,
    });
}

function highlightPreviousRow() {
  if (!currentHighlightedRowId) {
    highlightHandlers[highlightHandlers.length - 1].handler();
  } else {
    if (highlightHandlers.length > 1 &&
      highlightHandlers[0].id == currentHighlightedRowId) {
      highlightHandlers[highlightHandlers.length - 1].handler();
    } else {
      for (var i = 0; i < highlightHandlers.length - 1; i++) {
        if (highlightHandlers[i + 1].id == currentHighlightedRowId) {
          highlightHandlers[i].handler();
          break;
        }
      }
    }
  }
  smoothScrollToRow(currentHighlightedRowId);
}

function highlightNextRow() {
  if (!currentHighlightedRowId) {
    highlightHandlers[0].handler();
  } else {
    if (highlightHandlers.length > 1 &&
      highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) {
      highlightHandlers[0].handler();
    } else {
      for (var i = 1; i < highlightHandlers.length; i++) {
        if (highlightHandlers[i - 1].id == currentHighlightedRowId) {
          highlightHandlers[i].handler();
          break;
        }
      }
    }
  }
  smoothScrollToRow(currentHighlightedRowId);
}

function populateBomTable() {
  populateBomHeader();
  populateBomBody();
}

function footprintsClicked(footprintIndexes) {
  var lastClickedIndex = footprintIndexes.indexOf(lastClicked);
  for (var i = 1; i <= footprintIndexes.length; i++) {
    var refIndex = footprintIndexes[(lastClickedIndex + i) % footprintIndexes.length];
    if (refIndex in footprintIndexToHandler) {
      lastClicked = refIndex;
      footprintIndexToHandler[refIndex]();
      smoothScrollToRow(currentHighlightedRowId);
      break;
    }
  }
}

function netClicked(net) {
  if (net in netsToHandler) {
    netsToHandler[net]();
    smoothScrollToRow(currentHighlightedRowId);
  } else {
    clearHighlightedFootprints();
    highlightedNet = net;
    drawHighlights();
  }
}

function updateFilter(input) {
  filter = input.toLowerCase();
  populateBomTable();
}

function updateRefLookup(input) {
  reflookup = input.toLowerCase();
  populateBomTable();
}

function changeCanvasLayout(layout) {
  document.getElementById("fl-btn").classList.remove("depressed");
  document.getElementById("fb-btn").classList.remove("depressed");
  document.getElementById("bl-btn").classList.remove("depressed");
  switch (layout) {
    case 'F':
      document.getElementById("fl-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.collapse(1);
      }
      break;
    case 'B':
      document.getElementById("bl-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.collapse(0);
      }
      break;
    default:
      document.getElementById("fb-btn").classList.add("depressed");
      if (settings.bomlayout != "bom-only") {
        canvassplit.setSizes([50, 50]);
      }
  }
  settings.canvaslayout = layout;
  writeStorage("canvaslayout", layout);
  resizeAll();
  changeBomMode(settings.bommode);
}

function populateMetadata() {
  document.getElementById("title").innerHTML = pcbdata.metadata.title;
  document.getElementById("revision").innerHTML = "Rev: " + pcbdata.metadata.revision;
  document.getElementById("company").innerHTML = pcbdata.metadata.company;
  document.getElementById("filedate").innerHTML = pcbdata.metadata.date;
  if (pcbdata.metadata.title != "") {
    document.title = pcbdata.metadata.title + " BOM";
  }
  // Calculate board stats
  var fp_f = 0, fp_b = 0, pads_f = 0, pads_b = 0, pads_th = 0;
  for (var i = 0; i < pcbdata.footprints.length; i++) {
    if (pcbdata.bom.skipped.includes(i)) continue;
    var mod = pcbdata.footprints[i];
    if (mod.layer == "F") {
      fp_f++;
    } else {
      fp_b++;
    }
    for (var pad of mod.pads) {
      if (pad.type == "th") {
        pads_th++;
      } else {
        if (pad.layers.includes("F")) {
          pads_f++;
        }
        if (pad.layers.includes("B")) {
          pads_b++;
        }
      }
    }
  }
  document.getElementById("stats-components-front").innerHTML = fp_f;
  document.getElementById("stats-components-back").innerHTML = fp_b;
  document.getElementById("stats-components-total").innerHTML = fp_f + fp_b;
  document.getElementById("stats-groups-front").innerHTML = pcbdata.bom.F.length;
  document.getElementById("stats-groups-back").innerHTML = pcbdata.bom.B.length;
  document.getElementById("stats-groups-total").innerHTML = pcbdata.bom.both.length;
  document.getElementById("stats-smd-pads-front").innerHTML = pads_f;
  document.getElementById("stats-smd-pads-back").innerHTML = pads_b;
  document.getElementById("stats-smd-pads-total").innerHTML = pads_f + pads_b;
  document.getElementById("stats-th-pads").innerHTML = pads_th;
  // Update version string
  document.getElementById("github-link").innerHTML = "InteractiveHtmlBom&nbsp;" +
    /^v\d+\.\d+/.exec(pcbdata.ibom_version)[0];
}

function changeBomLayout(layout) {
  document.getElementById("bom-btn").classList.remove("depressed");
  document.getElementById("lr-btn").classList.remove("depressed");
  document.getElementById("tb-btn").classList.remove("depressed");
  switch (layout) {
    case 'bom-only':
      document.getElementById("bom-btn").classList.add("depressed");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      document.getElementById("frontcanvas").style.display = "none";
      document.getElementById("backcanvas").style.display = "none";
      document.getElementById("bot").style.height = "";
      break;
    case 'top-bottom':
      document.getElementById("tb-btn").classList.add("depressed");
      document.getElementById("frontcanvas").style.display = "";
      document.getElementById("backcanvas").style.display = "";
      document.getElementById("bot").style.height = "calc(100% - 80px)";
      document.getElementById("bomdiv").classList.remove("split-horizontal");
      document.getElementById("canvasdiv").classList.remove("split-horizontal");
      document.getElementById("frontcanvas").classList.add("split-horizontal");
      document.getElementById("backcanvas").classList.add("split-horizontal");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      bomsplit = Split(['#bomdiv', '#canvasdiv'], {
        sizes: [50, 50],
        onDragEnd: resizeAll,
        direction: "vertical",
        gutterSize: 5
      });
      canvassplit = Split(['#frontcanvas', '#backcanvas'], {
        sizes: [50, 50],
        gutterSize: 5,
        onDragEnd: resizeAll
      });
      break;
    case 'left-right':
      document.getElementById("lr-btn").classList.add("depressed");
      document.getElementById("frontcanvas").style.display = "";
      document.getElementById("backcanvas").style.display = "";
      document.getElementById("bot").style.height = "calc(100% - 80px)";
      document.getElementById("bomdiv").classList.add("split-horizontal");
      document.getElementById("canvasdiv").classList.add("split-horizontal");
      document.getElementById("frontcanvas").classList.remove("split-horizontal");
      document.getElementById("backcanvas").classList.remove("split-horizontal");
      if (bomsplit) {
        bomsplit.destroy();
        bomsplit = null;
        canvassplit.destroy();
        canvassplit = null;
      }
      bomsplit = Split(['#bomdiv', '#canvasdiv'], {
        sizes: [50, 50],
        onDragEnd: resizeAll,
        gutterSize: 5
      });
      canvassplit = Split(['#frontcanvas', '#backcanvas'], {
        sizes: [50, 50],
        gutterSize: 5,
        direction: "vertical",
        onDragEnd: resizeAll
      });
  }
  settings.bomlayout = layout;
  writeStorage("bomlayout", layout);
  changeCanvasLayout(settings.canvaslayout);
}

function changeBomMode(mode) {
  document.getElementById("bom-grouped-btn").classList.remove("depressed");
  document.getElementById("bom-ungrouped-btn").classList.remove("depressed");
  document.getElementById("bom-netlist-btn").classList.remove("depressed");
  switch (mode) {
    case 'grouped':
      document.getElementById("bom-grouped-btn").classList.add("depressed");
      break;
    case 'ungrouped':
      document.getElementById("bom-ungrouped-btn").classList.add("depressed");
      break;
    case 'netlist':
      document.getElementById("bom-netlist-btn").classList.add("depressed");
  }
  writeStorage("bommode", mode);
  if (mode != settings.bommode) {
    settings.bommode = mode;
    bomSortFunction = null;
    currentSortColumn = null;
    currentSortOrder = null;
    clearHighlightedFootprints();
  }
  populateBomTable();
}

function focusFilterField() {
  focusInputField(document.getElementById("filter"));
}

function focusRefLookupField() {
  focusInputField(document.getElementById("reflookup"));
}

function toggleBomCheckbox(bomrowid, checkboxnum) {
  if (!bomrowid || checkboxnum > settings.checkboxes.length) {
    return;
  }
  var bomrow = document.getElementById(bomrowid);
  var checkbox = bomrow.childNodes[checkboxnum].childNodes[0];
  checkbox.checked = !checkbox.checked;
  checkbox.indeterminate = false;
  checkbox.onchange();
}

function checkBomCheckbox(bomrowid, checkboxname) {
  var checkboxnum = 0;
  while (checkboxnum < settings.checkboxes.length &&
    settings.checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) {
    checkboxnum++;
  }
  if (!bomrowid || checkboxnum >= settings.checkboxes.length) {
    return;
  }
  var bomrow = document.getElementById(bomrowid);
  var checkbox = bomrow.childNodes[checkboxnum + 1].childNodes[0];
  checkbox.checked = true;
  checkbox.indeterminate = false;
  checkbox.onchange();
}

function setBomCheckboxes(value) {
  writeStorage("bomCheckboxes", value);
  settings.checkboxes = value.split(",").filter((e) => e);
  prepCheckboxes();
  populateBomTable();
  populateDarkenWhenCheckedOptions();
}

function setDarkenWhenChecked(value) {
  writeStorage("darkenWhenChecked", value);
  settings.darkenWhenChecked = value;
  populateBomTable();
}

function prepCheckboxes() {
  var table = document.getElementById("checkbox-stats");
  while (table.childElementCount > 1) {
    table.removeChild(table.lastChild);
  }
  if (settings.checkboxes.length) {
    table.style.display = "";
  } else {
    table.style.display = "none";
  }
  for (var checkbox of settings.checkboxes) {
    var tr = document.createElement("TR");
    var td = document.createElement("TD");
    td.innerHTML = checkbox;
    tr.appendChild(td);
    td = document.createElement("TD");
    td.id = "checkbox-stats-" + checkbox;
    var progressbar = document.createElement("div");
    progressbar.classList.add("bar");
    td.appendChild(progressbar);
    var text = document.createElement("div");
    text.classList.add("text");
    td.appendChild(text);
    tr.appendChild(td);
    table.appendChild(tr);
    updateCheckboxStats(checkbox);
  }
}

function populateDarkenWhenCheckedOptions() {
  var container = document.getElementById("darkenWhenCheckedContainer");

  if (settings.checkboxes.length == 0) {
    container.parentElement.style.display = "none";
    return;
  }

  container.innerHTML = '';
  container.parentElement.style.display = "inline-block";

  function createOption(name, displayName) {
    var id = "darkenWhenChecked-" + name;

    var div = document.createElement("div");
    div.classList.add("radio-container");

    var input = document.createElement("input");
    input.type = "radio";
    input.name = "darkenWhenChecked";
    input.value = name;
    input.id = id;
    input.onchange = () => setDarkenWhenChecked(name);
    div.appendChild(input);

    // Preserve the selected element when the checkboxes change
    if (name == settings.darkenWhenChecked) {
      input.checked = true;
    }

    var label = document.createElement("label");
    label.innerHTML = displayName;
    label.htmlFor = id;
    div.appendChild(label);

    container.appendChild(div);
  }
  createOption("", "None");
  for (var checkbox of settings.checkboxes) {
    createOption(checkbox, checkbox);
  }
}

function updateCheckboxStats(checkbox) {
  var checked = getStoredCheckboxRefs(checkbox).size;
  var total = pcbdata.footprints.length - pcbdata.bom.skipped.length;
  var percent = checked * 100.0 / total;
  var td = document.getElementById("checkbox-stats-" + checkbox);
  td.firstChild.style.width = percent + "%";
  td.lastChild.innerHTML = checked + "/" + total + " (" + Math.round(percent) + "%)";
}

document.onkeydown = function(e) {
  switch (e.key) {
    case "n":
      if (document.activeElement.type == "text") {
        return;
      }
      if (currentHighlightedRowId !== null) {
        checkBomCheckbox(currentHighlightedRowId, "placed");
        highlightNextRow();
        e.preventDefault();
      }
      break;
    case "ArrowUp":
      highlightPreviousRow();
      e.preventDefault();
      break;
    case "ArrowDown":
      highlightNextRow();
      e.preventDefault();
      break;
    default:
      break;
  }
  if (e.altKey) {
    switch (e.key) {
      case "f":
        focusFilterField();
        e.preventDefault();
        break;
      case "r":
        focusRefLookupField();
        e.preventDefault();
        break;
      case "z":
        changeBomLayout("bom-only");
        e.preventDefault();
        break;
      case "x":
        changeBomLayout("left-right");
        e.preventDefault();
        break;
      case "c":
        changeBomLayout("top-bottom");
        e.preventDefault();
        break;
      case "v":
        changeCanvasLayout("F");
        e.preventDefault();
        break;
      case "b":
        changeCanvasLayout("FB");
        e.preventDefault();
        break;
      case "n":
        changeCanvasLayout("B");
        e.preventDefault();
        break;
      default:
        break;
    }
    if (e.key >= '1' && e.key <= '9') {
      toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key));
    }
  }
}

function hideNetlistButton() {
  document.getElementById("bom-ungrouped-btn").classList.remove("middle-button");
  document.getElementById("bom-ungrouped-btn").classList.add("right-most-button");
  document.getElementById("bom-netlist-btn").style.display = "none";
}

window.onload = function(e) {
  initUtils();
  initRender();
  initStorage();
  initDefaults();
  cleanGutters();
  populateMetadata();
  dbgdiv = document.getElementById("dbg");
  bom = document.getElementById("bombody");
  bomhead = document.getElementById("bomhead");
  filter = "";
  reflookup = "";
  if (!("nets" in pcbdata)) {
    hideNetlistButton();
  }
  initDone = true;
  prepCheckboxes();
  // Triggers render
  changeBomLayout(settings.bomlayout);

  // Users may leave fullscreen without touching the checkbox. Uncheck.
  document.addEventListener('fullscreenchange', () => {
    if (!document.fullscreenElement)
      document.getElementById('fullscreenCheckbox').checked = false;
  });
}

window.onresize = resizeAll;
window.matchMedia("print").addListener(resizeAll);

///////////////////////////////////////////////

///////////////////////////////////////////////
 
///////////////////////////////////////////////
  </script>
</head>

<body>
<!-- USERHEADER -->
<div id="topmostdiv" class="topmostdiv">
  <div id="top">
    <div style="float: right; height: 100%;">
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="menubtn"></button>
        <div class="menu-content">
          <label class="menu-label menu-label-top" style="width: calc(50% - 18px)">
            <input id="darkmodeCheckbox" type="checkbox" onchange="setDarkMode(this.checked)">
            Dark mode
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label menu-label-top" style="width: calc(50% - 17px); border-left: 0;">
            <input id="fullscreenCheckbox" type="checkbox" onchange="setFullscreen(this.checked)">
            Full Screen
          </label>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="fabricationCheckbox" type="checkbox" checked onchange="fabricationVisible(this.checked)">
            Fab layer
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="silkscreenCheckbox" type="checkbox" checked onchange="silkscreenVisible(this.checked)">
            Silkscreen
          </label>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="referencesCheckbox" type="checkbox" checked onchange="referencesVisible(this.checked)">
            References
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="valuesCheckbox" type="checkbox" checked onchange="valuesVisible(this.checked)">
            Values
          </label>
          <div id="tracksAndZonesCheckboxes">
            <label class="menu-label" style="width: calc(50% - 18px)">
              <input id="tracksCheckbox" type="checkbox" checked onchange="tracksVisible(this.checked)">
              Tracks
            </label><!-- This comment eats space! All of it!
            --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
              <input id="zonesCheckbox" type="checkbox" checked onchange="zonesVisible(this.checked)">
              Zones
            </label>
          </div>
          <label class="menu-label" style="width: calc(50% - 18px)">
            <input id="padsCheckbox" type="checkbox" checked onchange="padsVisible(this.checked)">
            Pads
          </label><!-- This comment eats space! All of it!
          --><label class="menu-label" style="width: calc(50% - 17px); border-left: 0;">
            <input id="dnpOutlineCheckbox" type="checkbox" checked onchange="dnpOutline(this.checked)">
            DNP outlined
          </label>
          <label class="menu-label">
            <input id="highlightpin1Checkbox" type="checkbox" onchange="setHighlightPin1(this.checked)">
            Highlight first pin
          </label>
          <label class="menu-label">
            <input id="dragCheckbox" type="checkbox" checked onchange="setRedrawOnDrag(this.checked)">
            Continuous redraw on drag
          </label>
          <label class="menu-label">
            <input id="crosshairCheckbox" type="checkbox" checked onchange="setShowCrosshair(this.checked)">
            Show Crosshair
          </label>
          <label class="menu-label">
            <span>Board rotation</span>
            <span style="float: right"><span id="rotationDegree">0</span>&#176;</span>
            <input id="boardRotation" type="range" min="-36" max="36" value="0" class="slider" oninput="setBoardRotation(this.value)">
          </label>
          <label class="menu-label">
            <div style="margin-left: 5px">Bom checkboxes</div>
            <input id="bomCheckboxes" class="menu-textbox" type=text
                   oninput="setBomCheckboxes(this.value)">
          </label>
          <label class="menu-label">
            <div style="margin-left: 5px">Darken when checked</div>
            <div id="darkenWhenCheckedContainer"></div>
          </label>
          <label class="menu-label">
            <span class="shameless-plug">
              <span>Created using</span>
              <a id="github-link" target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a>
            </span>
          </label>
        </div>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="fl-btn" class="left-most-button" onclick="changeCanvasLayout('F')"
                title="Front only">F
        </button>
        <button id="fb-btn" class="middle-button" onclick="changeCanvasLayout('FB')"
                title="Front and Back">FB
        </button>
        <button id="bl-btn" class="right-most-button" onclick="changeCanvasLayout('B')"
                title="Back only">B
        </button>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="bom-btn" class="left-most-button" onclick="changeBomLayout('bom-only')"
                title="BOM only"></button>
        <button id="lr-btn" class="middle-button" onclick="changeBomLayout('left-right')"
                title="BOM left, drawings right"></button>
        <button id="tb-btn" class="right-most-button" onclick="changeBomLayout('top-bottom')"
                title="BOM top, drawings bot"></button>
      </div>
      <div class="button-container hideonprint"
           style="float: right; position: relative; top: 8px">
        <button id="bom-grouped-btn" class="left-most-button" onclick="changeBomMode('grouped')"
                title="Grouped BOM"></button>
        <button id="bom-ungrouped-btn" class="middle-button" onclick="changeBomMode('ungrouped')"
                title="Ungrouped BOM"></button>
        <button id="bom-netlist-btn" class="right-most-button" onclick="changeBomMode('netlist')"
                title="Netlist"></button>
      </div>
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="statsbtn"></button>
        <div class="menu-content">
          <table class="stats">
            <tbody>
              <tr>
                <td width="40%">Board stats</td>
                <td>Front</td>
                <td>Back</td>
                <td>Total</td>
              </tr>
              <tr>
                <td>Components</td>
                <td id="stats-components-front">~</td>
                <td id="stats-components-back">~</td>
                <td id="stats-components-total">~</td>
              </tr>
              <tr>
                <td>Groups</td>
                <td id="stats-groups-front">~</td>
                <td id="stats-groups-back">~</td>
                <td id="stats-groups-total">~</td>
              </tr>
              <tr>
                <td>SMD pads</td>
                <td id="stats-smd-pads-front">~</td>
                <td id="stats-smd-pads-back">~</td>
                <td id="stats-smd-pads-total">~</td>
              </tr>
              <tr>
                <td>TH pads</td>
                <td colspan=3 id="stats-th-pads">~</td>
              </tr>
            </tbody>
          </table>
          <table class="stats">
            <col width="40%"/><col />
            <tbody id="checkbox-stats">
              <tr>
                <td colspan=2 style="border-top: 0">Checkboxes</td>
              </tr>
            </tbody>
          </table>
        </div>
      </div>
      <div class="hideonprint menu" style="float: right; top: 8px;">
        <button class="iobtn"></button>
        <div class="menu-content">
          <div class="menu-label menu-label-top">
            <div style="margin-left: 5px;">Save board image</div>
            <div class="flexbox">
              <input id="render-save-width" class="menu-textbox" type="text" value="1000" placeholder="Width"
                  style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
              <span>X</span>
              <input id="render-save-height" class="menu-textbox" type="text" value="1000" placeholder="Height"
                  style="flex-grow: 1; width: 50px;" oninput="validateSaveImgDimension(this)">
            </div>
            <label>
              <input id="render-save-transparent" type="checkbox">
              Transparent background
            </label>
            <div class="flexbox">
              <button class="savebtn" onclick="saveImage('F')">Front</button>
              <button class="savebtn" onclick="saveImage('B')">Back</button>
            </div>
          </div>
          <div class="menu-label">
            <span style="margin-left: 5px;">Config and checkbox state</span>
            <div class="flexbox">
              <button class="savebtn" onclick="saveSettings()">Export</button>
              <button class="savebtn" onclick="loadSettings()">Import</button>
            </div>
          </div>
        </div>
      </div>
    </div>
    <div id="fileinfodiv" style="overflow: auto;">
      <table class="fileinfo">
        <tbody>
          <tr>
            <td id="title" class="title" style="width: 70%">
              Title
            </td>
            <td id="revision" class="title" style="width: 30%">
              Revision
            </td>
          </tr>
          <tr>
            <td id="company">
              Company
            </td>
            <td id="filedate">
              Date
            </td>
          </tr>
        </tbody>
      </table>
    </div>
  </div>
  <div id="bot" class="split" style="height: calc(100% - 80px)">
    <div id="bomdiv" class="split split-horizontal">
      <div style="width: 100%">
        <input id="reflookup" class="textbox searchbox reflookup hideonprint" type="text" placeholder="Ref lookup"
               oninput="updateRefLookup(this.value)">
        <input id="filter" class="textbox searchbox filter hideonprint" type="text" placeholder="Filter"
               oninput="updateFilter(this.value)">
        <div class="button-container hideonprint" style="float: left; margin: 0;">
          <button id="copy" title="Copy bom table to clipboard"
               onclick="copyToClipboard()"></button>
        </div>
      </div>
      <div id="dbg"></div>
      <table class="bom">
        <thead id="bomhead">
        </thead>
        <tbody id="bombody">
        </tbody>
      </table>
    </div>
    <div id="canvasdiv" class="split split-horizontal">
      <div id="frontcanvas" class="split" touch-action="none" style="overflow: hidden">
        <div style="position: relative; width: 100%; height: 100%;">
          <canvas id="F_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
          <canvas id="F_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
          <canvas id="F_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
          <canvas id="F_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
        </div>
      </div>
      <div id="backcanvas" class="split" touch-action="none" style="overflow: hidden">
        <div style="position: relative; width: 100%; height: 100%;">
          <canvas id="B_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas>
          <canvas id="B_fab" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas>
          <canvas id="B_slk" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas>
          <canvas id="B_hl" style="position: absolute; left: 0; top: 0; z-index: 3;"></canvas>
        </div>
      </div>
    </div>
  </div>
</div>
<!-- USERFOOTER -->
</body>

</html>
